Tengo un problema extraño en django admin list_display
. Cada vez que agregue una clave externa a list_display
, la vista de la lista de cambios completa queda en blanco, mostrando solo el número total de entradas.Django admin Lista de la lista + ForeignKey = Vaciar Cambiar la lista
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)
Ahora yo esperaría que este código me muestre el nombre de la organización en el ChangeList View
, pero en lugar de eso consiga esto:
Si quito el org
en el list_display
de ServerAdmin
clase, me sale esto:
que no modificaron la plantilla o anular cualquier ModelAdmin
métodos. Estoy usando Mysql (5.1.58) como mi base de datos que viene con el repositorio ubuntu 11.10.
Estaré muy contento de poder conseguir una solución para este problema, chicos. Gracias por adelantado.
En '' Veo models.py' TlxServer' y en '' simplemente admin.py' Server'. ¿Es eso un error tipográfico? – jcollado
No necesita definir un AutoField. Django crea automáticamente una clave principal para cada tabla. –
@jcollado: Eso es un error tipográfico: P se supone que es 'Servidor' – Pannu