Django 浅谈根据配置生成SQL语句的问题


Posted in Python onMay 29, 2018

想要根据django中的模型和配置生成SQL语句,需要先进行一定的设置:

首先需要在你的app文件夹中进入setting.py文件,里面有一个DATABASES,进行设置数据库的配置信息:

DATABASES = { 
 'default': { 
  # 'ENGINE': 'django.db.backends.sqlite3', 
  # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
  'ENGINE': 'django.db.backends.mysql', 
  'NAME': '你的数据库的名字', 
  'USER': '用户名', 
  'PASSWORD': '密码', 
  'HOST': '', 
  'PORT': '3306', 
 }

接下来需要将你的app激活,同样是在setting.py文件中,有一个INSTALLED_APPS,将你的app添加到末尾,

INSTALLED_APPS = [ 
 'django.contrib.admin', 
 'django.contrib.auth', 
 'django.contrib.contenttypes', 
 'django.contrib.sessions', 
 'django.contrib.messages', 
 'django.contrib.staticfiles', 
 '你的app的名字', 
]

定义并激活了模型,接下来验证模型是否有效,在之前的版本中验证是否有效的命令是python manage.py validate

如果你的Django的版本比较新的话(我的是1.10)可能会出现错误提示:

Unknown command: ‘validate‘

Type ‘manage.py help‘ for usage.

那么新版本的验证命令是python manage.py check

在我们验证通过之后就可以生成SQL语句了,你之前可能需要编写一下model.py中的一些内容,之后想生成SQL语句时,

之前的版本的命令是python manage.py sqlall ***(你的app的名字)

版本不匹配时,会出现错误提示:

Unknown command: ‘sqlall‘

Type ‘manage.py help‘ for usage.

同样如果你想提交sql语句到数据库而运行syncdb,错误提示是:

Unknown command: ‘syncdb‘
Type ‘manage.py help‘ for usage.

目前的较新版本的django的命令是:

python manage.py makemigrations books #用来检测数据库变更和生成数据库迁移文件

python manage.py migrate #用来迁移数据库

python manage.py sqlmigrate books 0001 # 用来把数据库迁移文件转换成数据库语言

在命令行依次执行完这三个命令你就可以进行数据访问了。

以上这篇Django 浅谈根据配置生成SQL语句的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
巧用Python装饰器 免去调用父类构造函数的麻烦
May 18 Python
Python 实现使用dict 创建二维数据、DataFrame
Apr 13 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
python 杀死自身进程的实现方法
Jul 01 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
超级实用的8个Python列表技巧
Aug 24 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
Python实现石头剪刀布游戏
Jan 20 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
Python实现批量自动整理文件
Mar 16 Python
Pandas 数据编码的十种方法
Apr 20 Python
django表单实现下拉框的示例讲解
May 29 #Python
用python编写第一个IDA插件的实例
May 29 #Python
基于python进行桶排序与基数排序的总结
May 29 #Python
Vue的el-scrollbar实现自定义滚动
May 29 #Python
基于Django与ajax之间的json传输方法
May 29 #Python
django ajax json的实例代码
May 29 #Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 #Python
You might like
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
PHP 危险函数全解析
2009/09/09 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
php中strtotime函数性能分析
2016/11/20 PHP
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
vue中如何使用ztree
2018/02/06 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
浅析Python的Django框架中的Memcached
2015/07/23 Python
利用python代码写的12306订票代码
2015/12/20 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
python多个模块py文件的数据共享实例
2019/01/11 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
环卫工人先进事迹材料
2014/06/02 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书