2011-09-29 19 views
7

que tiene como modeloDjango modelo de línea de administración de usuario

class Employer(models.Model): 
    create_user = models.ForeignKey(User,unique=False,null=True, related_name='%(class)s_user_create') 
    update_user = models.ForeignKey(User,unique=False,null=True, related_name='%(class)s_user_update') 

y me gustaría enumerar todos los objetos Employer mientras estaba en los detalles de usuario en el panel de administración de Django.

He escrito algo así como

admin.py

class EmployerInline(admin.TabularInline): 
    model = Employer 

class UserAdmin(admin.ModelAdmin): 
    inlines = [ 
       EmployerInline 
    ] 

admin.site.register(UserAdmin) 

pero me da error como 'MediaDefiningClass' object is not iterable

¿Cómo puedo obtener una lista de empleadores que son creados por un usuario mientras spesific estaba buscando los detalles del usuario?

Gracias

Respuesta

10

El error en particular que usted menciona no parece tener nada que ver con lo que está pasando en su código, así que no estoy seguro de eso todo. Sin embargo, tiene otros errores aquí, por lo que la posibilidad de corregirlos también resolverá ese error.

Primero, necesita especificar fk_name en su EmployerInline. Django resuelve la clave foránea automáticamente en la mayoría de las circunstancias, pero como tiene dos claves foráneas para el mismo modelo, debe darle algo de ayuda a Django.

class EmployerInline(admin.TabularInline): 
    model = Employer 
    fk_name = 'create_user' 

En segundo lugar, puede haber simplemente omitido, pero usted debe cancelar el registro User antes de registrarlo. También necesita especificar el modelo al registrarse:

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 
+0

funciona como un amuleto.gracias – brsbilgic

Cuestiones relacionadas