Django 浅谈根据配置生成SQL语句的问题
想要根据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 # 用来把数据库迁移文件转换成数据库语言
在命令行依次执行完这三个命令你就可以进行数据访问了。