首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django开发问题及解决方法汇总

Django开发问题及解决方法汇总

作者头像
超蛋lhy
发布2018-08-31 11:30:23
7850
发布2018-08-31 11:30:23
举报
文章被收录于专栏:PythonistaPythonista

1.

manage.py@MxOnline > makemigrations users

manage.py@MxOnline > migrate users

 2.

操作django的admin,添加用户时报错:
1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')

解决方法:

在settings.py中添加databases的参数

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "mxonline",
        "USER": "root",
        "PASSWORD": "redhat",
        "HOST": "127.0.0.1",
        #解决admin的外键报错
        "OPTIONS": {
            "init_command": "SET foreign_key_checks=0;",
        }
    }
}

 3.python3  xadmin在python3配置过程出现

NameError: name 'reload' is not defined报错

解决办法:

不能pip install xadmin

需要在https://github.com/sshwsfc/xadmin网址这里下载xadmin

<!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff} span.s1 {font-variant-ligatures: no-common-ligatures} -->

pip install git+git://github.com/sshwsfc/xadmin.git

Field 'id' doesn't have a default value 原因

Field 'id' doesn't have a default value昨晚做项目的时候遇到一个问题,在测试数据存储的时候老是报Field 'id' doesn't have a default value异常,从网上找了好久,根据各位大虾的说法也测试了好久好久,可就是没发现原因所在,鼓捣了两三个小时的时间,最后总算找到问题所在:原来是我的数据设计的时候,把主键的类型定义为int的,原本想是用自增的方式来的,可是由于自己的粗心,写sql语句的时候没有加上auto_increment,所以在数据存储的时候老是报Field 'id' doesn't have a default value,id根本就没有值啊!!
加上自己从网上找的其他人说的他们遇到这种时候的原因,在这里总结一下:
1、打开my.ini,查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

修改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后重启MYSQL

2、MySQL 5 uses a strict mode which needs to be disabled.
In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart.

3、看看你的数据库定义的时候是不是把主键生成方式设置为int的,但是没有设置为自增的!!或者数据定义的时候设置一个默认值就可以了。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Field 'id' doesn't have a default value 原因
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档