我已阅读文档并尝试实现对默认表单字段的覆盖,以仅在我的管理员中显示属于当前用户(发布者)的项目。我有一个 SimpleSubscriber 模型,其中包含一个名为 sub_type 的对象,它是模型 Product 的 ForeignKey。还有一个 Publisher 模型,SimpleSubscriber 和 Product 都有称为 publisher 的 ForeignKey 对象。在我的 admin.py 我有这个:
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "sub_type":
kwargs["queryset"] = SimpleSubscriber.objects.filter(sub_type=request.user)
return super(SimpleSubscriberAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
在文档中,它最初有
kwargs["queryset"] = SimpleSubscriber.objects.filter(owner=request.user)
但是我得到了“FieldError:无法将关键字'所有者'解析到字段中”,所以我用 sub_type 替换了所有者,但是用订阅者填充了列表。它应该是子类型(产品)的列表。
如何让此列表仅显示属于当前用户(发布者)的子类型(产品)?