【发布时间】:2018-03-08 22:44:30
【问题描述】:
我有两个模型:
class Parent:
...
class Child:
parent = models.ForeignKey(Parent)
在 Parent 的模型管理员中,我想通过自定义查询集显示 Child 的内联,而不仅仅是通过 fk 字段与父级相关的查询集.
我试过了:
class ChildInline(admin.TabularInline):
model = Child
def get_queryset(self, request):
return Child.objects.filter(<my custom filter>)
class ParentAdmin(admin.ModelAdmin):
inlines = [ChildInline]
但内联中显示的唯一子级仍然是满足两个过滤器的子级:通过 FK + 我的自定义过滤器与父级相关。
可以这样做吗?
编辑:
我现在看到的是 BaseInlineFormSet,它正在过滤我编写的查询集以仅保留与父级相关的子级,知道如何避免这种情况吗?
django/forms/models.py
class BaseInlineFormSet(BaseModelFormSet):
...
if self.instance.pk is not None:
qs = queryset.filter(**{self.fk.name: self.instance})
...
【问题讨论】:
标签: django