python - /admin/main/post/add/ NOT NULL 约束处的 IntegrityError 失败:main_post.status
问题描述
如何解决这个问题?这是在我创建新帖子并按下按钮“添加”之后
看起来您的帖子主要是代码;请添加更多细节。为什么stackoverflow会问这个?
#models.py
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=255)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
content = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
updated_on = models.DateTimeField(auto_now= True)
def __str__(self):
return self.title
#admin.py
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug': ('title',), }
admin.site.register(Post,PostAdmin)
解决方案
也许您忘记使用管理命令,makemigrations
并且在从模型中migrate
删除status
字段之后。Post
据我所知,您的模型中没有状态字段,但该字段仍然存在于您的数据库中。因此,请确保使用这些管理命令(makemigrations
和migrate
)从数据库中正确删除该字段,或者如果您的数据不重要,您可以执行以下过程:
a- 删除您的数据库并创建一个新的
b- 删除所有迁移文件
c- 运行manage.py makemigrations
和manage.py migrate
推荐阅读
- postgresql - Postgresql 查询性能优化
- javascript - Photoswipe 打开没有动画的幻灯片,但仅在第一次单击时打开
- powerbi - 使用警报创建带有选择条件的过滤器
- django - 在 DRF 中实现可以读取 request.data 的自定义身份验证
- c++ - 预定义 C++ 类型(编译器内部)未找到错误
- python - Django:在不同应用程序的html文件之间传递上下文数据
- javascript - 如何禁用按钮上的链接但是当我点击卡片链接时应该可以工作
- linux - Beyond Linux From Scratch:avrdude 是在没有 USB 支持的情况下编译的
- python-3.x - AttributeError:“超级”对象没有属性“word_weighting”
- python-3.x - 准备两个并行的 LSTM 模型并将结果馈送到 Keras 建模中的第三个模型