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

yipeiwu_com7年前Python基础

想要根据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设计】。

相关文章

对numpy中布尔型数组的处理方法详解

布尔数组的操作方式主要有两种,any用于查看数组中是否有True的值,而all则用于查看数组是否全都是True。 如果用于计算的时候,布尔量会被转换成1和0,True转换成1,False...

python单例模式的多种实现方法

前言 单例模式(Singleton Pattern),是一种软件设计模式,是类只能实例化一个对象, 目的是便于外界的访问,节约系统资源,如果希望系统中 只有一个对象可以访问,就用单例模式...

Django使用中间件解决前后端同源策略问题

Django使用中间件解决前后端同源策略问题

问题描述 前端时间在公司的时候,要使用angular开发一个网站,因为angular很适合前后端分离,所以就做了一个简单的图书管理系统来模拟前后端分离。 但是在开发过程中遇见了同源策略...

基于Python实现剪切板实时监控方法解析

基于Python实现剪切板实时监控方法解析

前言 上网浏览网页的时候,看见好的内容免不了要使用复制粘贴,但是我们看到的内容、心里想要的内容和实际粘贴后的内容往往不一致。数据的获取始于复制,终于粘贴,那么问题来了,在这中间系统做了...

对于Python的Django框架部署的一些建议

“Django应用、配置文件以及其他各种相关目录的最佳布局是什么样的?” 总是有朋友问我们这个问题,因此我想花一点时间,写一下我们究竟是如何看待这个问题的,这样我们就可以很容易让其他人参...