首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NULL约束失败: stories_story.url

NULL约束失败: stories_story.url
EN

Stack Overflow用户
提问于 2015-10-06 21:22:59
回答 1查看 668关注 0票数 1

请有人解释一下为什么我得到一个NULL约束失败: stories_story.url错误。

当我试图“总结”一个故事(本地主机/故事)时,我会得到错误。

这是一些文件。如果你需要更多的话请告诉我。

models.py

代码语言:javascript
复制
class Story(models.Model):
    title = models.TextField(max_length=350)
    url = models.URLField(null=True, blank=True)
    points = models.IntegerField(default = 1)
    moderator = models.ForeignKey(User, related_name = 'moderated_stories')
    category = models.ForeignKey(Category)
    voters = models.ManyToManyField(User, related_name = 'liked_stories')
    created_at = models.DateTimeField(auto_now_add = True)
    updated_at = models.DateTimeField(auto_now = True)

    @property 
    def domain(self):
        return urlparse(self.url).netloc

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name_plural = "stories"   

views.py

代码语言:javascript
复制
@login_required(login_url = "/login/")
    def story(request):
        if request.method == 'POST':
            form = StoryForm(request.POST)
            if form.is_valid():
                story = form.save(commit = False)
                story.moderator = request.user
                story.save()
                return HttpResponseRedirect('/')
        else:
            form = StoryForm()
        return render(request, 'stories/story.html', {'form': form})

编辑:

我完全删除了URLField,因为我不再需要它了。我运行了迁移程序,一切都很顺利。但我仍然得到相同的错误: NULL约束失败: stories_story.url。我不明白在我的代码中这个问题是从何而来的。

EN

回答 1

Stack Overflow用户

发布于 2015-10-06 22:14:40

首先,检查是否使用迁移,检查应用程序中是否存在迁移dir,以及该目录中是否存在迁移(__init__.py以外的文件)。

如果不是,您还没有为该应用程序使用迁移,因此要使其工作,必须回滚models.py以使其与数据库状态相对应。完成此操作后,运行python manage.py makemigrations your_app_name并恢复当前的models.py状态。

完成之后,运行python manage.py migrate your_app_name --fake-initial,这将在迁移历史记录中存储您的初始迁移。

如果至少有一个迁移提示,或者如果您完成了所有“如果不是”部分,那么运行python ./manage.py makemigrations your_app_name来创建新的迁移,并运行python ./manage.py migrate来应用它们。您应该在更改models.py后进行迁移并应用迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32979989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档