django admin form filter 字段

class MachineAdmin(PermissionMixin, admin.ModelAdmin):
    form = MachineForm
    ....
    def get_form(self, request, obj=None, change=False, **kwargs):
        form = super().get_form(request, obj, change, **kwargs)
# 在form里没法过滤,因为form对象没有request,因此,在get_form方法里过滤后,给form对象设置进去
        form.base_fields['binds'].queryset = QQGroup.objects.filter(user=request.user)
        return form

此方法也适用于过滤autocomplete_fields

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。