gpt4 book ai didi

python - 如何在多对多字段中自定义 django admin 搜索结果

转载 作者:行者123 更新时间:2023-12-01 02:43:20 34 4
gpt4 key购买 nike

我尝试过滤在许多字段中使用 lupe 时显示的列表(如下图)。也许文本搜索也会很有趣。

有什么帮助吗?

django lupe search result example django admin stacked inline example

代码如下:

class PresentialModuleCourseInline(NestedStackedInline):
"""Module Course Presential Stacked Inline"""
model = Course.modules.through
raw_id_fields = ('module_course',)
extra = 1

def get_queryset(self, request):
return self.model.objects.filter(
module_course__type_course=ModuleCourse.PRESENTIAL) # Doesn't work

最佳答案

要在 ForeignKeyRawIdWidget (lupe) 中进行过滤,您需要向小部件添加一个 limit_choices_,它添加一个查询参数以在弹出页面中进行过滤,如 ?type_course=online

示例:

class PresentialModuleCourseInline(NestedStackedInline):
"""Module Course Presential Stacked Inline"""
model = Course.modules.through
extra = 1
raw_id_fields = ('module_course', )

def get_formset(self, request, obj=None, **kwargs):
form = super().get_formset(request, obj, **kwargs)
field = form.form.base_fields['module_course']
field.widget.rel.limit_choices_to =\
{'type_course': ModuleCourse.PRESENTIAL}
return form

关于python - 如何在多对多字段中自定义 django admin 搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45470908/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com