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)
Esta entrada de blog respondió a todas mis preguntas, ¡gracias! –
De nada. Los artículos de James son invaluables. – Brandon
Ahora soy un seguidor oficial de su blog :) –