ModelAdmin.formfield_for_foreignkey(db_field, request, **kwargs)
The formfield_for_foreignkey
method on a ModelAdmin
allows you to override the default formfield for a foreign keys field. For example, to return a subset of objects for this foreign key field based on the user:
class MyModelAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "car": kwargs["queryset"] = Car.objects.filter(owner=request.user) return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
This uses the HttpRequest
instance to filter the Car
foreign key field to only display the cars owned by the User
instance.
Please login to continue.