7👍
✅
Pretty obvious from docs
Use UniqueConstraint with the constraints option instead.
UniqueConstraint provides more functionality than unique_together.
unique_together may be deprecated in the future.
11👍
UniqueConstraint
has useful condition
.
Just a little example. Let’s say you want to check uniqueness for only active products.
class Product(models.Model):
is_active = models.BooleanField(default=False)
category_name = models.CharField(max_length=64)
name = models.CharField(max_length=64)
class Meta:
constraints = [
models.UniqueConstraint(fields=['category_name', 'name'],
condition=models.Q(is_active=True),
name='category_and_name_uniq')
]
- Django-registration – how do i change example.com in the email?
- How can I make a Django update with a conditional case?
- Removing case sensitivity from Email in Django login form
- Django: Implementing a referral program
Source:stackexchange.com