【Python】 Django 怎么实现 联合主键?
unique_together
¶
Options.
unique_together
¶-
Sets of field names that, taken together, must be unique:
unique_together = (("driver", "restaurant"),)
This is a tuple of tuples that must be unique when considered together. It’s used in the Django admin and is enforced at the database level (i.e., the appropriate
UNIQUE
statements are included in theCREATE TABLE
statement).For convenience, unique_together can be a single tuple when dealing with a single set of fields:
unique_together = ("driver", "restaurant")
A
ManyToManyField
cannot be included in unique_together. (It’s not clear what that would even mean!) If you need to validate uniqueness related to aManyToManyField
, try using a signal or an explicitthrough
model.The
ValidationError
raised during model validation when the constraint is violated has theunique_together
error code.参考资料:
https://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
http://m.blog.csdn.net/article/details?id=8768504