Django管理员显示不正确的值

时间:2014-03-20 16:24:04

标签: python django django-models django-admin

我有一个显示错误/错误,我不太了解。在我的Django管理界面中,值为None123的字段,管理界面始终显示None而值显然存在于数据库中,当我想编辑对象时它也会显示出来。

这是我说话的对象。

class EventPerson(models.Model):
    status_choices = (
        ('1', 'Ausstehend'),
        ('2', 'Angenommen'),
        ('3', 'Abgelehnt'),
    )
    person = models.ForeignKey(Person)
    event = models.ForeignKey(Event)
    status = models.CharField(max_length=1, choices=status_choices)
    timestamp = models.DateTimeField()
    points = models.IntegerField()

    def __unicode__(self):
        return self.event.event_name

    class Meta:
        unique_together = ['person', 'event']

我在管理界面中显示除主要ID之外的所有内容:

for name, obj in inspect.getmembers(miggser.models):
    if inspect.isclass(obj):
        if isinstance(obj, ModelBase):
            if not obj._meta.abstract:
                try:
                    class DisplayAdmin(admin.ModelAdmin):
                        list_display = [field.name for field in obj._meta.fields if not field.primary_key]
                    admin.site.register(obj, DisplayAdmin)
                except AlreadyRegistered:
                    pass

我也制作了一些截图,因为我的英语技能在图形或显示方面都不太好......

表格视图None如下所示: Here is the error

这就是我想要编辑对象时显示的内容:

This works fine

我真的不知道是什么导致显示None,而不是与数字相关联的数字或字符串。无论数据类型如何,每个其他模型也会显示其所有字段。

我还有另一个类似的对象(男性= 1,女性= 2),这显示正确。

我唯一可以涉及的是因为该模型是与models.ManyToManyField(Person, through="EventPerson")一起使用的M2M

如果我错过了某些信息,请告诉我,我会相应地更新问题。

0 个答案:

没有答案