django框架的models
2017-01-02 21:21
411 查看
在django的框架设计中采用了mtv模型,即Model,template,viewerModel相对于传统的三层或者mvc框架来说就相当对数据处理层,它主要负责与数据的交互,在使用django框架设计应用系统时,需要注意的是django默认采用的是orm框架中的codefirst模型,也就是说开发人员只需要专注于代码的编写,而不需要过多的关注数据库层面的东西,把开发人员从数据库中解放出来django会根据Model类生成一个数据库镜像文件,然后再使用该镜像文件生成数据库,同时该文件将记录与数据库同步版本的变化,所以在使用django进行开发时不要手工去修改数据库,这样会造成django框架的版本记录不正确,从而无法正确的同步数据模型与数据库的内容django生成的镜像文件内容如下:
from __future__ import unicode_literals from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('web', '0001_initial'), ] operations = [ migrations.AddField( model_name='userinfo', name='sex', field=models.BooleanField(default=True), preserve_default=False, ), ] 以上内容为生的一一个版本的镜像,内容记录了对model所在的app的记录,以及执行的动作,如上面的镜像文件记录为对web的app中的model增加了一个名称为sex的字段,字段类型为Boolean,默认为True 自动将app中的Model进行同步需要setting.py中设置INSTALLED_APPS,将需要同步的app注册到系统中,系统在运行同步命令的时候将会把所有注册到系统中的app中的Model数据与数据库进行同步处理 同时需要注意一个问题,即app一定要位于工程目录之下,否则同步的时候将会提示没有这个app之类信息 在进行同步之前要做几样检查工作:
一:数据库连接配置:setting.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD': '434944800', 'HOST': 'localhost', 'PORT': '3306', } }
二:将app注册到工程项目中
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'web', ] inseert 字段主要是为了将APP里面的model在数据中建立。
三:编写Model from __future__ import unicode_literals from django.db import models # Create your models here. class userInfo(models.Model): username=models.CharField(max_length=100) passwd=models.CharField(max_length=20) sex=models.BooleanField() 类userinfo即相当于数据表名,django实际生成的表名为web_userinfo,由于对数据库的操作需要借助于django,所以model类需要继承自models.Model 在建立表的时候默认是加上了项目名一个前缀,比如你写的是user表,实际在在数据库中建立的是WEB_USER表,
准备工作完成后在终端进行工程所在目录中 输入命令:python manage.py makemigrations 生成镜像文件 python manage.py migrate 同步到数据库 执行以上两条命令将对Model和数据库进行同步 总结: 一:配置数据库 二:app注册到工程 三:编写model 四:执行命令同步 对model做调整后只需要重复执行第四步即可同步数据库
相关文章推荐
- Django框架models使用group by的方法
- Django 六大框架之 Models
- 第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
- Django框架之模型(models)ORM对象关系映射描述
- Django框架MTV架构之 Models(模型)
- django框架 modelsg更改后的数据迁移报错问题
- Python的Django框架完成一个完整的论坛(3.创建app的models.py、views.py源码)
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化
- Django 框架之 Models
- DJango框架对Models操作
- Django框架models使用group by的方法
- python Web开发框架-Django (2)
- Django 速成笔记(3)--Django models 数据库操作-增删改查-多对多关系以及一对多(外键)关系
- Using django Models 批注
- Web框架之Django
- (7)Django框架学习-Views,URLconf的进阶用法篇
- 两种方法在Django框架中支持后台返回包含中文的JSON/数组格式
- 第三百一十五节,Django框架,CSRF跨站请求伪造
- django框架从零开始_003_数据库