mirror of
https://github.com/django/django.git
synced 2025-08-30 23:37:50 +00:00
Fixed #30062 -- Added support for unique conditional constraints.
This commit is contained in:
parent
1e837c4b23
commit
b69f8eb04c
8 changed files with 291 additions and 26 deletions
|
@ -3,6 +3,7 @@ from django.db import models
|
|||
|
||||
class Product(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
color = models.CharField(max_length=32, null=True)
|
||||
price = models.IntegerField(null=True)
|
||||
discounted_price = models.IntegerField(null=True)
|
||||
|
||||
|
@ -12,5 +13,10 @@ class Product(models.Model):
|
|||
check=models.Q(price__gt=models.F('discounted_price')),
|
||||
name='price_gt_discounted_price',
|
||||
),
|
||||
models.UniqueConstraint(fields=['name'], name='unique_name'),
|
||||
models.UniqueConstraint(fields=['name', 'color'], name='name_color_uniq'),
|
||||
models.UniqueConstraint(
|
||||
fields=['name'],
|
||||
name='name_without_color_uniq',
|
||||
condition=models.Q(color__isnull=True),
|
||||
),
|
||||
]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue