Django管理外键下拉字段列表只有"测试对象"

kel*_*fix 11 django django-admin

我有这两个类:

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)
Run Code Online (Sandbox Code Playgroud)

TestSubjectSet表单测试列表仅显示字符串"test object".

Siv*_*lam 25

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

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

  • __unicode __(self)对我不起作用,但__str __(self)没有.我正在使用django 11 (2认同)

Ale*_*lig 5

有同样的问题。添加

def __str__(self):
    return self.user
Run Code Online (Sandbox Code Playgroud)

解决了这个问题。