0

私はdjango-mpttを使用しており、クエリセットを使用してクエリセットをフィルタリングしています。

次に、映画を親カテゴリに追加したい

  • メディア ----------------- (保存後にここに追加)
    • フィルム ------------- (保存後にここに追加)
      • アクション -----(ここにフィルムを追加)
      • ホラー -----(またはここ、多分)
      • ...
    • ...

.

class FilmAdmin(BlunneAdmin):

    # FILTER RESULTS TO SHOW IN ADMIN
    def formfield_for_manytomany(self, db_field, request, **kwargs):
    if db_field.name == "categories":
        kwargs["queryset"] = Categ.objects.filter(parent__slug='films')
    return super(FilmAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)

    # ADD FILM TO PARENT'S CATEGORIES
    def save_model(self, request, obj, form, change):
        obj.save()
        obj.categs.add(Categ.objects.get(slug='media'))
        obj.categs.add(Categ.objects.get(slug='films'))
        obj.save()

どうすればいいですか?

最初の save() を配置しないと、次のエラーが発生します。

多対多の関係を使用するには、「Film」インスタンスに主キーの値が必要です。

4

0 に答える 0