webdevqa.jp.net

Djangoで多対多フィールドをオプションにするにはどうすればよいですか?

多対多のリレーションシップ(throughではなくrelated_name)があり、管理インターフェイスを使用する場合、最初のエントリを作成するためにリレーションシップが存在する必要はありませんが、いずれかのリレーションシップを入力する必要があります。

イベントオーガナイザーであるアプリを作成しています。多対多の関係でバインドされたEventおよびGroupモデルがあると想像してください。

Django related_name は、他の2つのテーブルのインデックスを使用して別のテーブルを作成します。
ただし、この余分なテーブルが入力される理由はわかりません。

PhpMyAdminを使用してデータベースを操作する場合、Groupを登録せずにEventを作成できます。これは、2つの間の接続が個別のテーブルを介してのみ行われ、特定のレベルでデータベース値が強制されないためです。

これを実現する管理インターフェイスを作成するにはどうすればよいですか?
Djangoで多対多フィールドをオプションにする方法

168
DZ.

必要にせずにManyToMany関係を指定できるようにしたい場合は、blank=Trueを使用します。

class Group(models.Model):
    ...
    events = models.ManyToManyField(Event, blank=True)
298
Ludwik Trammer