我有這樣一個模型:如何設置兩個字段主鍵爲我的模型在Django
class Hop(models.Model):
migration = models.ForeignKey('Migration')
host = models.ForeignKey(User, related_name='host_set')
我想遷移和主機兩者一起成爲主鍵。
我有這樣一個模型:如何設置兩個字段主鍵爲我的模型在Django
class Hop(models.Model):
migration = models.ForeignKey('Migration')
host = models.ForeignKey(User, related_name='host_set')
我想遷移和主機兩者一起成爲主鍵。
我會稍微有點不同。
我會用默認的主鍵(汽車領域),並使用元類屬性,unique_together
class Hop(models.Model):
migration = models.ForeignKey('Migration')
host = models.ForeignKey(User, related_name='host_set')
class Meta:
unique_together = (("migration", "host"),)
它將充當「代孕」的主鍵列。
如果你真的想創建一個多列主鍵,看看this app
目前,Django模型僅支持單個列主鍵。如果您未在模型中爲字段指定primary_key = True
,則Django將自動創建一列id
作爲主鍵。
類Meta
中的屬性unique_together
僅對您的數據有約束。
可能的重複http://stackoverflow.com/questions/4871966/make-primary-key-with-2-fields-in-django –