我有一个显示错误/错误,我不太了解。在我的Django管理界面中,值为None
,1
,2
或3
的字段,管理界面始终显示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
如下所示:
这就是我想要编辑对象时显示的内容:
我真的不知道是什么导致显示None
,而不是与数字相关联的数字或字符串。无论数据类型如何,每个其他模型也会显示其所有字段。
我还有另一个类似的对象(男性= 1,女性= 2),这显示正确。
我唯一可以涉及的是因为该模型是与models.ManyToManyField(Person, through="EventPerson")
一起使用的M2M
如果我错过了某些信息,请告诉我,我会相应地更新问题。