0

2 つの外部キーに基づいており、pk ではない自動インクリメンタル キーを使用するモデルを作成しています。

class Message(models.Model):
    message_id = models.IntegerField()
    user_1 = models.ForeignKey(User)
    user_2 = models.ForeignKey(User)
    class Meta:
         unique_together = ("message_id", "user_1", "user_2")

私の知る限り、AutoField はこの場合には使用できません。これを達成するための最良の方法は何ですか。(2 つの新しいメッセージが同時に作成される場合があります)。

4

1 に答える 1

0

Djangoはまだ複合主キーをサポートしていないため、最善の方法は、現在行っている方法とほとんど同じです。

Django が生成する自動 id 列を保持し、実際には主キーである列に一意のインデックスを追加します。一意のインデックスは、重複がないことを保証します。

于 2013-10-28T19:43:06.140 に答える