ドキュメントを読み、デフォルトのフォームフィールドのオーバーライドを実装して、管理者の現在のユーザー (発行者) に属するアイテムのみを表示しようとしました。モデルProductのForeignKeyであるsub_typeという名前のオブジェクトを持つSimpleSubscriberモデルがあります。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: キーワード 'owner' をフィールドに解決できません」というメッセージが表示されたので、所有者を sub_type に置き換えましたが、リストに購読者が入力されました。sub_types (製品) のリストである必要があります。
このリストを取得して、現在のユーザー (発行者) に属する sub_types (製品) のみを表示するにはどうすればよいですか?