我有两个使用ForeignKey相关联的模型,并使用了related_name.这是一个例子.
class Student(models.Model):
name = models.CharField(max_length=255)
birthday = models.DateField(blank=True)
class Class(models.Model):
name = models.CharField(max_length=255)
student = models.ForeignKey(Student,
related_name='classes',
null=True)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
例如,我想访问类名.
这是我试过的.
john = Student.objects.get(username = 'john')
print john.classes.name
Run Code Online (Sandbox Code Playgroud)
什么都没打印出来.
但是,当我尝试 john.classes
我得到django.db.models.fields.related.RelatedManager对象在0x109911410.这表明它们是相关的.但我想得到班级名称.
难道我做错了什么?如何使用related_name访问类的名称?需要一些指导.
ser*_*ach 19
是的,课程是经理.一个老师可以是几个班级.所以要输出他们的名字你应该这样做:
john = Student.objects.get(username = 'john')
for class2 in john.classes.all():
print class2.name
Run Code Online (Sandbox Code Playgroud)
如果您只想为一个学生开设一个班级,那么请使用一对一的关系.在这种情况下,您可以使用您的方法访问相关字段.
| 归档时间: |
|
| 查看次数: |
21144 次 |
| 最近记录: |