0

我正在编写一个使用自动增量键的模型,它基于两个外键而不是 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 不能用于这种情况。实现这一目标的最佳方法是什么。(可能会同时创建两条新消息)。

4

1 回答 1

0

Django还不支持复合主键,所以最好的方法就是你现在的方法。

保留 Django 生成的自动 id 列,然后为实际上是主键的列添加唯一索引,然后唯一索引将负责确保没有重复项。

于 2013-10-28T19:43:06.140 回答