django-mptt を使用して、Web アプリのモデルにツリー構造を作成します。
残念ながら、ツリーのルート ノードが重複することがあります。
これらは、次のように、parent_id として NULL を持ち、同じ tree_id を持ちます。
+--------+-----------+---------+
| id | parent_id | tree_id |
+--------+-----------+---------+
| 159092 | NULL | 52098 |
| 159093 | NULL | 52098 |
+--------+-----------+---------+
データベースレベルでこれを止める方法はありますか?
MySQL で制約を作成して、parent_id と同じ tree_id として NULL を持つ 2 つ以上のアイテムを取得しないようにすることはできますか?
無関係なフィールドが削除された models.py のモデル:
class Message(MPTTModel):
# Threaded messages
text = textmodels.TextField()