Django admin列表显示+ ForeignKey =空更改列表

Pan*_*nnu 7 python mysql django django-admin

我在django admin中遇到了一个奇怪的问题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'
Run Code Online (Sandbox Code Playgroud)

admin.py:

class ServerAdmin(admin.ModelAdmin):
    list_display = ('server_name','org') 
admin.site.register(Server,ServerAdmin) 
Run Code Online (Sandbox Code Playgroud)

现在我希望这段代码向我展示组织名称ChangeList View,但我得到了这个:

空的变更清单:(

如果我删除orglist_displayServerAdmin班级,我得到这样的:

更改列表与数据:(

我没有修改模板或覆盖任何ModelAdmin方法.我正在使用Mysql(5.1.58)作为我的ubuntu 11.10存储库附带的数据库.

如果我能为这个问题找到帮助,我会很高兴的.提前致谢.

San*_*wal 8

关于要添加的事实,我是第二个Stefanonull=True, blank=True.但是,我认为你只需要将它添加到模型org_name领域Organization.这应该是你的方式.必须这样做是因为您已经开始inspectdb从遗留数据库中创建模型.并且可能organizationDB中的表存储了空字符串.因此,添加上述内容将允许管理员显示空白字段/列.

此外,您还可以尝试在不希望对模型定义进行更改的情况下使用回调,如上所述.