I have three objects:
Thing some fields Bucket things = models.ManyToManyField(Thing) User buckets = models.ManyToManyField(Bucket) things = models
Read the docs:
class BucketAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "things": kwargs["queryset"] = Things.objects.filter(...) return super(BucketAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)