django中不支持双主键、多主键。
要实现类似功能可以:
classMeta:
unique_together=(("driver","restaurant"),)
里边两个元素联合去重的。
注意使用这种方法不要设置主键,让django自己生成一个id作为主键即可。
参考:http://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
参考文章:
from django.db import modelsclass Person(models.Model) first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)
怎么设置让first_name和last_name组成primary key?
解决方法
Python code
from django.db import modelsclass Person(models.Model) first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) class Meta: unique_together = ("first_name", "last_name")
通过这种形式起到类似的联合主键的作用。
但是注意,这个表的主键还是ID,(django会自动对没有AutoField的表建立一个id字段当做逻辑主键)