多対多のリレーションシップ(through
ではなくrelated_name
)があり、管理インターフェイスを使用する場合、最初のエントリを作成するためにリレーションシップが存在する必要はありませんが、いずれかのリレーションシップを入力する必要があります。
イベントオーガナイザーであるアプリを作成しています。多対多の関係でバインドされたEvent
およびGroup
モデルがあると想像してください。
Django related_name
は、他の2つのテーブルのインデックスを使用して別のテーブルを作成します。
ただし、この余分なテーブルにが入力される理由はわかりません。
PhpMyAdminを使用してデータベースを操作する場合、Group
を登録せずにEvent
を作成できます。これは、2つの間の接続が個別のテーブルを介してのみ行われ、特定のレベルでデータベース値が強制されないためです。
これを実現する管理インターフェイスを作成するにはどうすればよいですか?
Djangoで多対多フィールドをオプションにする方法
必要にせずにManyToMany関係を指定できるようにしたい場合は、blank=True
を使用します。
class Group(models.Model):
...
events = models.ManyToManyField(Event, blank=True)