filter_horizontal 在使用 formfield_for_manytomany 时不起作用
filter_horizontal does not work when using formfield_for_manytomany
我可以让 filter_horizontal 工作,但是一旦我添加 formfield_for_manytomany 它就会停止工作。有什么方法可以使用 formfield_for_manytomany 并保持 filter_horizontal?
class MyModelAdmin(admin.ModelAdmin):
filter_horizontal = ('users',)
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
if db_field.name == 'users':
kwargs["queryset"] = User.objects.filter(profile__api_user=True)
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
formfield_for_manytomany
和 filter_horizontal
应该可以很好地协同工作。
问题是您在调用 super()
时调用了错误的方法。应该是
return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)
我可以让 filter_horizontal 工作,但是一旦我添加 formfield_for_manytomany 它就会停止工作。有什么方法可以使用 formfield_for_manytomany 并保持 filter_horizontal?
class MyModelAdmin(admin.ModelAdmin):
filter_horizontal = ('users',)
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
if db_field.name == 'users':
kwargs["queryset"] = User.objects.filter(profile__api_user=True)
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
formfield_for_manytomany
和 filter_horizontal
应该可以很好地协同工作。
问题是您在调用 super()
时调用了错误的方法。应该是
return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)