2011-05-02 72 views
5

我有以下两类:Django管理外键下拉字段列表中只有“测试对象”

class Test(models.Model): 
    id = models.AutoField(primary_key=True) 
    user = models.ForeignKey(User) 
    groups = models.ManyToManyField(Group) 

class TestSubjectSet(models.Model): 
    id = models.AutoField(primary_key=True) 
    test = models.ForeignKey(Test) 
    subject = models.ManyToManyField(Subject) 

的TestSubjectSet形式测试列表只显示字符串“测试对象”。

回答

18

您必须在模型类中添加__unicode__(self)__str__(self)方法。

http://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#django.db.models.Model.unicode

+0

我加入高清__unicode __(个体经营):返回self.test没有运气。 – kelvinfix 2011-05-02 08:55:34

+0

确定它现在可以工作,我必须将它添加到测试类。 – kelvinfix 2011-05-02 08:57:44

+0

__unicode __(self)does not for me but __str __(self)did。我正在使用django 11 – flexxxit 2017-08-05 19:50:09