sách gpt4 ai đã đi

Django 管理,过滤内联表单集的对象

In lại 作者:行者123 更新时间:2023-12-02 23:00:26 28 4
mua khóa gpt4 Nike

我有一个内联表单集,我想排除一些模型对象在表单集中显示。

例如。模型 B 具有模型 A 的外键,因此它是 1:n(A 对象有许多 B 对象)关系。现在在 A 管理编辑页面上,我已经获得了 B 的内联。我想知道是否可以在渲染内联表单集之前以某种方式过滤 B 对象列表,因此并非所有与 A 相关的 B 对象都会进入表单集。

1 Câu trả lời

回答自己的问题可能看起来有点奇怪,但我找到了另一个解决方案;)

向表单集提供自定义查询集时出现问题,在内联表单集的情况下没有 Hook 。因此,我对 BaseInlineFormSet 进行了子类化并重写了 get_queryset 方法。然后我只需在 InlineModelAdmin 中提供此表单集即可完成。

Ví dụ:

class MyFormSet(BaseInlineFormSet):
def get_queryset(self):
if not hasattr(self, '_queryset'):
qs = super(MyFormSet, self).get_queryset().filter(main=False)
self._queryset = qs
return self._queryset

和管理类:

class MyInline(admin.TabularInline):
model = m.MyModel
formset = MyFormSet
...

关于Django 管理,过滤内联表单集的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2101979/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com