我有两个使用 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
例如,我想访问类名。
这是我试过的。
john = Student.objects.get(username = 'john')
print john.classes.name
什么都没有打印出来。
但是当我尝试 john.classes
我在 0x109911410 处得到 django.db.models.fields.related.RelatedManager 对象。这表明它们是相关的。但我想获得班级名称。
难道我做错了什么?如何使用 related_name 访问类的名称?需要一些指导。
原文由 lakshmen 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,班级是经理。一个老师可以上好几节课。所以要输出他们的名字你应该这样做:
如果您只想为一个学生上一节课,请使用一对一关系。在这种情况下,您可以使用您的方法访问相关字段。