请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

7-7完成后发现 数据库中 Status 依旧不能修改

在完成7-7的form表单代码修改后依旧不能变更status的状态值,
查看了一下js也对值进行了修改但是提交表单后数据库保存的status依旧是D
图片描述

还有一个问题就是当forms.py中修改加上status后偶尔会出现form表单提交没反应,点击发表或者保存草稿都只是页面刷新,没有进入到成功跳转。(只要出现过一次提交没反应后无论再怎么提交都不会成功)
图片描述

即使我提交表单的时候讲status内容设置为P去发表,存到数据库的时候依旧显示是D
保存草稿的话一直都是默认值D。
图片描述

models.py的代码

@python_2_unicode_compatible
class Article(models.Model):

    STATUS = (("D", "Draft"), ("P", "Published"))

    title = models.CharField(max_length=225, unique=True, verbose_name="标题")    # unique=True 标题唯一
    user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.SET_NULL,
                             related_name="author", verbose_name="作者")
    image = models.ImageField(upload_to="articles_pictures/%Y/%m/%d/", verbose_name="文章图片")
    slug = models.SlugField(max_length=255, verbose_name="(ULR)别名")
    status = models.CharField(max_length=1, choices=STATUS, default="D", verbose_name="状态")
    content = MarkdownxField(verbose_name="内容")
    edited = models.BooleanField(default=False, verbose_name="是否可编辑")
    tags = TaggableManager(help_text="多个标签使用,(英文)隔开", verbose_name="标签")
    created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")
    objects = ArticleQuerySet.as_manager()

正在回答

2回答

想起来了,class Meta中应该加上‘status’, 'edited'

https://img1.sycdn.imooc.com//szimg/5ceccc970001f0d914550343.jpg

在第7-14小节 2分20秒的时候有补讲,当时录的时候忘了,抱歉

0 回复 有任何疑惑可以回复我~
  • 提问者 1cho糖糖 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-05-28 15:01:19
Jack 2019-05-27 16:44:43

7-7 讲解的是CreateView的源码,你是要改文章的状态吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 1cho糖糖 #1
    7-7视频开头有讲在表单中加入status,通过js修改status默认值,
    我重新把问题编辑了一下。
    回复 有任何疑惑可以回复我~ 2019-05-27 16:49:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信