发表文章问题

来源:6-6 用户发表动态

爱编程的运维

2020-11-11

老师您好:

我完成了文章发表的功能,并且发表了第一篇文章成功了,如下图:

http://img.mukewang.com/szimg/5fabf44509384bb412080285.jpg

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

http://img.mukewang.com/szimg/5fabf4780923769009030411.jpg


下面是我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

一级棒!这个错误我开始也碰到过

1
0

爱编程的运维

提问者

2020-11-12

已经解决!

class News(models.Model):

    uuid = models.UUIDField(primary_key=True,default=uuid.uuid4) #这里吧() 去掉才可以!吧“uuid.uuid4()”改成“uuid.uuid4”

   

0
0

Django高级实战 开发企业级问答网站

融合Django高级用法/算法/设计模式/TestCase测试/云计算打造项目

900 学习 · 756 问题

查看课程