明霞山资源网 Design By www.htccd.com

如果你遇到了这个错误–MySQL Strict Mode is not set for database connection ‘default'

还有这种错误,models中的代码

django 解决model中类写不到数据库中,数据库无此字段的问题

django 解决model中类写不到数据库中,数据库无此字段的问题

为什么会出现这种错误呢?有两种可能,一种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文件中多加了逗号

django 解决model中类写不到数据库中,数据库无此字段的问题

所以说一定要细心,不要粗心,遇到错误一定要细心,哎,我就…

解决方法,添上option和去掉逗号就ok了呗

去掉逗号之后删库创库,重新输入

python manage.py makemigrations
python manage.py migrate

两条命令,即可

django 解决model中类写不到数据库中,数据库无此字段的问题

把它也记得删了

django 解决model中类写不到数据库中,数据库无此字段的问题

这样就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中类写不到数据库中,数据库无此字段的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
django,model,数据库,无此字段

明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?