Я знаю, что у этого есть «принятый ответ», но я просто хотел высказать это, поскольку натолкнулся на этот ответ, пытаясь найти что-то другое, и понял, что у меня есть альтернативное решение, которое я часто нахожу и использую, которое дает мне более детальный контроль уровня, чем принятый ответ.
class TestAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "FIELD":
kwargs["queryset"] = TestModel.objects.filter(test=False)
return super(TestAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "FIELDS":
kwargs["queryset"] = TestModel.objects.filter(test=False)
return super(TestAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)