只有当我用相同的管理员创建新聊天室时才会发生这是我在models.py中写的
class ChatRoom(models.Model):
id = models.UUIDField(primary_key=True, unique=True,
default=uuid.uuid4, editable=False)
name = models.CharField(max_length=100, null=False, blank=True)
users = models.ManyToManyField(User, through='Membership')
admin = models.ForeignKey(
User, null=False, blank=False, on_delete=models.CASCADE, related_name='admin')
date_created = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Membership(models.Model):
id = models.UUIDField(primary_key=True, unique=True,
default=uuid.uuid4, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
chatroom = models.ForeignKey(ChatRoom, on_delete=models.CASCADE)
date_joined = models.DateTimeField(auto_now=True, null=False, blank=False)
def __str__(self):
return self.user
class Meta:
unique_together = [['user', 'chatroom']]当我在shell中写下这段代码时:
from .main.models import ChatRoom,Membership
from django.contrib.auth.models import User
user = User.objects.get(username = 'someone')
chatroom = ChatRoom(admin = user, name = 'something')
chatroom.save()
chatroom2 = ChatRoom(admin = user, name = 'somethingElse')
chatroom2.save()在我保存chatroom2后,我得到了这个错误:django.db.utils.IntegrityError: UNIQUE constraint failed: main_chatroom.admin_id,有人能帮我吗?
发布于 2021-11-28 18:01:43
所以事实证明,我做了一些事情,使得所有迁移都不会对数据库产生任何影响,所以我创建了新项目,并将所有代码复制到新项目中(是的,我知道这不是正确的方法,但对我来说这是最简单的方法),现在一切都很好用
https://stackoverflow.com/questions/70145509
复制相似问题