'在PostgreSQL中,是否错误地将Django的多重unique_together映射为多个唯一项?'

2024-03-28 16:00:10 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在django模型中添加多个unique_together元组时,PostgreSQL数据库映射出现错误(同样根据a previous SO answer on the subject)。下面是一个例子。在

这是我的迁移:

migrations.CreateModel(
    name='FinancialConcept',
    fields=[
        ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
        ('taxonomy', models.CharField(max_length=128)),
        ('name', models.CharField(max_length=256)),
        ('xbrl_element', models.CharField(max_length=256)),
        ('parent', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='analysis.FinancialConcept')),
    ],
),
migrations.AlterUniqueTogether(
    name='financialconcept',
    unique_together=set([('taxonomy', 'name'), ('taxonomy', 'xbrl_element'), ('parent', 'xbrl_element')]),
),
....

我预期它将创建三个UNIQUE索引,每个索引对一个。但是,DB映射的结果是:

^{pr2}$

也就是说,UNIQUE中的一个索引是正确的,但是其他两个索引丢失了。在

知道是什么引起的吗?在


Tags: djangonametrueonmodelsmigrationselementlength