Django MPTT 重复键值违反唯一约束
Django MPTT duplicate key value violates unique constraint
我练习 django-mptt 并遇到问题
这是我的 models.py
class Genre(MPTTModel):
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
我创建了一些数据:
- 美国
- 纽约
- 建筑A
- 3F
- 4楼
- B栋
现在,我需要在 BuildingB
下创建 4F
floor3 = Genre.objects.create(name="3F", parent= buildingB)
但遇到问题:
IntegrityError: duplicate key value violates unique constraint "myapp_genre_name_key"
DETAIL: Key (name)=(3F) already exists.
我该如何解决??
据我了解,您希望您的名字在整个建筑物中是唯一的。
为此,从 name
字段声明中删除 unique=True
并添加元选项:
class Genre(MPTTModel):
name = models.CharField(max_length=50)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
class Meta:
unique_together = (('name', 'parent', ), )
我练习 django-mptt 并遇到问题
这是我的 models.py
class Genre(MPTTModel):
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
我创建了一些数据:
- 美国
- 纽约
- 建筑A
- 3F
- 4楼
- B栋
- 建筑A
- 纽约
现在,我需要在 BuildingB
4F
floor3 = Genre.objects.create(name="3F", parent= buildingB)
但遇到问题:
IntegrityError: duplicate key value violates unique constraint "myapp_genre_name_key"
DETAIL: Key (name)=(3F) already exists.
我该如何解决??
据我了解,您希望您的名字在整个建筑物中是唯一的。
为此,从 name
字段声明中删除 unique=True
并添加元选项:
class Genre(MPTTModel):
name = models.CharField(max_length=50)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
class Meta:
unique_together = (('name', 'parent', ), )