【Python】 Django 怎么实现 联合主键?

时间:2021-12-22 13:42:12

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 the CREATE TABLEstatement).

For convenience, unique_together can be a single tuple when dealing with a single set of fields:

unique_together = ("driver", "restaurant") 

ManyToManyField cannot be included in unique_together. (It’s not clear what that would even mean!) If you need to validate uniqueness related to a ManyToManyField, try using a signal or an explicit through model.

The ValidationError raised during model validation when the constraint is violated has the unique_together error code.

 

 

参考资料:

https://docs.djangoproject.com/en/dev/ref/models/options/#unique-together

http://m.blog.csdn.net/article/details?id=8768504