我有2個模型與M2M類型的關係有關。我在管理員中使用filter_horizontal
來編輯我的實體。Django filter_horizontal filtering
但是,我想要控制在filter_horizontal
小部件左側顯示的內容。例如,我想過濾並僅顯示符合某些特定條件的實體。
我有2個模型與M2M類型的關係有關。我在管理員中使用filter_horizontal
來編輯我的實體。Django filter_horizontal filtering
但是,我想要控制在filter_horizontal
小部件左側顯示的內容。例如,我想過濾並僅顯示符合某些特定條件的實體。
這個問題在Django管理員中總是很棘手。我想,在內嵌defenition你可以做這樣的事情:
類巴德明(admin.TabularInline): ...
def get_queryset(self, request):
qs = super(BAdmin, self).get_queryset(request)
return qs.filter(user=request.user)
我想我找到了!
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "cars":
kwargs["queryset"] = Car.objects.filter(owner=request.user)
return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)
ModelAdmin.formfield_for_manytomany(db_field, request, **kwargs)
THX!我認爲它會抓住你正在編輯的模型,但不會是預先填充在「filter_horizontal」左側框中的「子」 –