django模型在具有外键的字段中没有列错误
Posted
技术标签:
【中文标题】django模型在具有外键的字段中没有列错误【英文标题】:django model no column error in a field with foreign key 【发布时间】:2020-09-09 21:43:00 【问题描述】:我有自定义用户模型
class User(AbstractUser):
model fields
和另一个模型,它有一个与用户有外键关系的字段
class Comment(models.Model):
writer = models.ForeignKey(User,on_delete=models.CASCADE,null=True,related_name='comment_writer')
contents = models.TextField(max_length=300,null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
但是当我进行迁移并迁移应用程序和项目时,我仍然在管理页面上收到错误消息
/admin/User/comment/ 处的操作错误 没有这样的列:User_comment.writer_id 请求方法:GET 请求网址:http://localhost:8000/admin/User/comment/ Django 版本:2.2.3 异常类型:操作错误 异常值: 没有这样的列:User_comment.writer_id 异常位置:/usr/local/lib/python3.6/dist-packages/django/db/backends/sqlite3/base.py 在执行中,第 383 行 Python 可执行文件:/usr/bin/python3 Python版本:3.6.9 Python 路径: ['/home/potentad/Documents/timesello', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/potentad/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/local/lib/python3.6/dist-packages/onedrived-2.0.0-py3.6.egg', '/usr/local/lib/python3.6/dist-packages/zgitignore-1.0.0-py3.6.egg', '/usr/local/lib/python3.6/dist-packages/tabulate-0.8.7-py3.6.egg', '/usr/local/lib/python3.6/dist-packages/psutil-5.7.0-py3.6-linux-x86_64.egg', '/usr/lib/python3/dist-packages'] 服务器时间:2020年5月22日星期五23:20:23 +0000
出了什么问题,我该怎么办?
【问题讨论】:
您是否进行了迁移,并迁移了数据库? 如果您已经运行过make migrations
,请分享迁移文件
@WillemVanOnsem 是的。 makemigrations 然后迁移
【参考方案1】:
你能运行这些行吗
python manage.py makemigrations
之后
python manage.py migrate
【讨论】:
然后它说没有这样的表:User_user 请求方法:POST 请求 URL:localhost:8000/admin/login/?next=/admin 怎么了?以上是关于django模型在具有外键的字段中没有列错误的主要内容,如果未能解决你的问题,请参考以下文章