我有兩個使用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