Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在Django中创建一个唯一的忽略NULL的together约束?_Sql_Django - Fatal编程技术网

Sql 如何在Django中创建一个唯一的忽略NULL的together约束?

Sql 如何在Django中创建一个唯一的忽略NULL的together约束?,sql,django,Sql,Django,Django如何使用其唯一索引处理NULL?有没有一种方法可以允许许多空行,同时对非空值强制唯一性 然后,同样的问题也会出现在一起。是否有一种方法将unique_强制在一起,但如果任何字段为NULL,则允许该行> P>我不确定MySQL,但是SQLite和PostgreSQL没有考虑 null >代码>值是相等的,所以你要寻找的行为实际上是默认的。 您可以自己验证这一点: class MyModel(models.Model): title = models.CharField(uniq

Django如何使用其唯一索引处理NULL?有没有一种方法可以允许许多空行,同时对非空值强制唯一性


然后,同样的问题也会出现在一起。是否有一种方法将unique_强制在一起,但如果任何字段为NULL,则允许该行

> P>我不确定MySQL,但是SQLite和PostgreSQL没有考虑<代码> null >代码>值是相等的,所以你要寻找的行为实际上是默认的。 您可以自己验证这一点:

class MyModel(models.Model):
    title = models.CharField(unique=True, null=True, max_length=255)

>>> MyModel.objects.create()
<MyModel: MyModel object (1)>
>>> MyModel.objects.create()
<MyModel: MyModel object (2)>
请注意,在第二个示例中,
标题
字段上没有唯一约束,只有两个字段上的唯一约束一起存在。

可能重复的
class MyModel(models.Model):
    title = models.CharField(null=True, max_length=255)
    description = models.CharField(null=True, max_length=255)

    class Meta:
        unique_together = (('title', 'description'),)

>>> MyModel.objects.create(title='x')
<MyModel: MyModel object (1)>
>>> MyModel.objects.create(title='x')
<MyModel: MyModel object (2)>