白云岛资源网 Design By www.pvray.com
如果你遇到了这个错误–MySQL Strict Mode is not set for database connection ‘default'
还有这种错误,models中的代码
为什么会出现这种错误呢?有两种可能,一种settings少了options,一中是你的models文件中加了逗号
第一种可能
settings中需要添加以下字段
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mxshop', 'HOST': '127.0.0.1', 'PORT': '3306', 'USER': 'mxshop', 'PASSWORD': 'BSfdsfdsmxF', 'OPTIONS': { "init_command": "SET default_storage_engine='INNODB'" } } } DATABASES['default']['OPTIONS']['init_command'] = "SET sql_mode='STRICT_TRANS_TABLES'"#排除错误
第二种可能
models.py文件中多加了逗号
所以说一定要细心,不要粗心,遇到错误一定要细心,哎,我就…
解决方法,添上option和去掉逗号就ok了呗
去掉逗号之后删库创库,重新输入
python manage.py makemigrations
python manage.py migrate
两条命令,即可
把它也记得删了
这样就ok了
补充知识:django框架model中外键不落实到数据库
在外键字段的参数中添加db_constraint=False即可,数据库中没有外键关系,代码中依然可以按照正常外键方式使用。
例如:
class User(models.Model): name = models.CharField(max_length=255) room = models.ForeignKey(Room, db_constraint=False) class Room(models.Model): status = models.IntegerField(default=1)
以上这篇django 解决model中类写不到数据库中,数据库无此字段的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
白云岛资源网 Design By www.pvray.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
白云岛资源网 Design By www.pvray.com
暂无评论...