发表文章问题
来源:6-6 用户发表动态
爱编程的运维
2020-11-11
老师您好:
我完成了文章发表的功能,并且发表了第一篇文章成功了,如下图:

但是当我第二次发表文章的时候,却报错了,主键冲突!如下截图:

下面是我models模型代码:
import uuid
from zanhu.users.models import User
class News(models.Model):
uuid = models.UUIDField(primary_key=True,default=uuid.uuid4())
user = models.ForeignKey(base.AUTH_USER_MODEL,null=True,related_name="publisher",verbose_name="用户",on_delete=models.SET_NULL)
parent = models.ForeignKey("self",blank=True,null=True,related_name="thread",verbose_name="自关联",on_delete=models.CASCADE)
content = models.TextField(verbose_name="评论")
liked = models.ManyToManyField(base.AUTH_USER_MODEL,related_name="liked_news",verbose_name="点赞用户")
replay = models.BooleanField(default=False,verbose_name="是否为评论")
create_at = models.DateTimeField(auto_now_add=True,verbose_name="发表时间")
update_at = models.DateTimeField(auto_now=True,verbose_name="更新时间")
class Meta:
verbose_name = "文章"
verbose_name_plural = verbose_name
ordering = ("-create_at",)
这个uuid不是每次生成的都不一样吗?怎么这里感觉我每次发表文章,生成的uuid都是一样的。。。
django.db.utils.IntegrityError: (1062, "Duplicate entry '6950f816c0ff444a9b1bc0f6f8bcb605' for key 'news_news.PRIMARY'")
[11/Nov/2020 22:25:48] "POST /news/post_news/ HTTP/1.1" 500 25780写回答
2回答
-
Jack
2020-11-12
一级棒!这个错误我开始也碰到过
10 -
爱编程的运维
提问者
2020-11-12
已经解决!
class News(models.Model):
uuid = models.UUIDField(primary_key=True,default=uuid.uuid4) #这里吧() 去掉才可以!吧“uuid.uuid4()”改成“uuid.uuid4”
00
相似问题