我有两个使用ForeignKey关联在一起的模型,并且使用related_name。这是一个例子。在Django中正确使用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
我得到django.db.models.fields.related.RelatedManager对象在0x109911410。这表明它们是相关的。但我想获得课程名称。
我做错了什么?我如何使用related_name访问类的名称?需要一些指导。
每个孩子只有一个班级。那么为什么不john.classes.name? – lakesh
你的解决方案的工作原理,但想知道为什么john.classes.name不工作? – lakesh
因为ForeignKey为一个孩子创建了几个类,而不是一个类。如果你只想要一个类使用onetoone字段。 – sergzach