django - filter_horizo​​ntal 在使用 formfield_for_manytomany 时不起作用

标签 django django-admin

我可以让 filter_horizo​​ntal 工作,但是一旦我添加了 formfield_for_manytomany 它就停止工作了。有什么方法可以使用 formfield_for_manytomany 并保持 filter_horizo​​ntal 吗?

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_manytomanyfilter_horizo​​ntal 应该可以很好地协同工作。

问题是当您调用 super() 时调用了错误的方法。应该是

return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)

关于django - filter_horizo​​ntal 在使用 formfield_for_manytomany 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34210970/

相关文章:

python - 使用 Django 管理站点自动填充 created_by 字段

python - 从 HTTP 迁移到 HTTPS

python - 如何保持用户登录django

python - ORA-01861 : literal does not match format string when executing get model object in django

python - Django拆分单词并存储在数据库表中

django - 为什么 Django 不使用我的 Registration/reset_password_done.html 模板?

python - 用于在 Django Admin 中呈现外键的可扩展小部件

django - 为什么django开发服务器卡在这个管理工具js文件上?

Python/Django - 初始/默认管理页面

Python pickle 似乎在类内部中断,但在命令行脚本中却没有