django如何建立app应用模型?如何预览模型sql语句?
发布于 作者:苏南大叔 来源:程序如此灵动~
上一篇django文章中,苏南大叔描述的是系统默认数据库的迁移migrate方式。在本文中,苏南大叔描述的就是:django程序猿自己编写的代码中,数据库的定义及导入方式。本文涉及到的例子,还是django官方tutorial中的polls例子。

本文测试环境:python@3.7.4、django@2.2.4、mac。
编写模型代码
polls/models.py:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __str__(self):
return self.choice_text其中,__str__()这是个特殊的私有函数。用于在格式化输出对应的模型类。至于模型中的字段类型,外键之类的信息。本文就不做更多的详细描述了。

激活模型
mysite/settings.py中,INSTALLED_APPS环节,添加识别'polls.apps.PollsConfig'。其中,polls.apps.表示文件polls/apps.py。
mysite/settings.py:
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
制作迁移文件
下面制作包含polls的models.py的数据库信息的migration文件。命令如下:
python manage.py makemigrations polls迁移文件的存储路径是: polls/migrations/0001_initial.py。

预览迁移sql语句(可选)
本步骤仅仅是预览,并不会真正执行sql。所以,本步骤是个可选步骤。其命令如下:
python manage.py sqlmigrate polls 0001
正式迁移导入数据库
这个步骤就很熟悉了,执行的命令如下:
python manage.py migrate参考文章:

相关链接
结束语
苏南大叔在本文中描述了django里面,自定义的app应用里面的模型数据库导入方式。和系统数据库的导入方式有雷同步骤,但是也还有自己独特的步骤。另外,导入的细节上,苏南大叔并没有做过多描述。在后续django相关博客文章中,苏南大叔将会有所涉及。欢迎您关注订阅苏南大叔的django博客文章: