我在Django管理页面的list_display
中遇到了一个奇怪的问题。每当我将外键添加到list_display
中时,整个变更列表视图都会变空,仅显示条目的总数。
models.py:
class Organization(models.Model):
org_id = models.AutoField(primary_key=True)
org_name = models.CharField(max_length=288)
def __unicode__(self):
return self.org_name
class Meta:
db_table = u'organization'
class Server(models.Model):
server_id = models.AutoField(primary_key=True)
server_name = models.CharField(max_length=135,verbose_name="Server Name")
org = models.ForeignKey(Organization,verbose_name="Organization")
def __unicode__(self):
return self.server_name
class Meta:
db_table = u'server'
admin.py:
class ServerAdmin(admin.ModelAdmin):
list_display = ('server_name','org')
admin.site.register(Server,ServerAdmin)
现在我期望这段代码可以在ChangeList视图中显示组织名称,但是我得到了下面这个结果:
如果我在ServerAdmin类的list_display中移除org,我会得到下面这个结果:
我没有修改模板或覆盖任何ModelAdmin方法。我使用的是Ubuntu 11.10仓库提供的Mysql(5.1.58)作为我的数据库。
如果能够解决这个问题,我将非常感激。谢谢!
models.py
中我看到TlxServer
,而在admin.py
中只有Server
。这是打字错误吗? - jcolladoinspectdb
命令,得到了这些模型,并且我发现主键是IntegerField
类型,所以我将它们改为了AutoField
。 - Pannu