2011-08-16 18 views

Respuesta

5

Ver esta entrada del blog de información básica acerca de administrador que se extiende: http://www.b-list.org/weblog/2008/dec/24/admin/

+0

Esta entrada de blog respondió a todas mis preguntas, ¡gracias! –

+0

De nada. Los artículos de James son invaluables. – Brandon

+0

Ahora soy un seguidor oficial de su blog :) –

2

Se puede hacer. Primero debe crear el modelAdmin apropiado en su admin.py.

Para la lista "pantalla" filtrado de modificar el método de queryset:

class MyModelAdmin(admin.ModelAdmin): 

    def queryset(self, request): 
     return Entry.objects.filter(owner=request.user) 

Para el filtrado de campo, dependiendo del tipo de campo que desea limitar reemplaza el método apropiado.

documentación de Django relacionada está aquí: https://docs.djangoproject.com/en/1.3/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_for_foreignkey

Para limitar la producción del campo ForeignKey se puede hacer algo como esto: (a partir de la documentación de Django)

class MyModelAdmin(admin.ModelAdmin): 
    def formfield_for_foreignkey(self, db_field, request, **kwargs): 
     if db_field.name == "car": # The name of the field you want to limit 
      kwargs["queryset"] = Car.objects.filter(owner=request.user) 
     return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) 
Cuestiones relacionadas