在django的框架设计中采用了mtv模型,即Model,template,viewer

Model相对于传统的三层或者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',
] 三:编写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 准备工作完成后在终端进行工程所在目录中
输入命令:python manage.py  makemigrations
生成镜像文件
        python manage.py  migrate
        同步到数据库
执行以上两条命令将对Model和数据库进行同步 总结:
一:配置数据库
二:app注册到工程
三:编写model
四:执行命令同步 对model做调整后只需要重复执行第四步即可同步数据库
												

django中的Model模型一:的更多相关文章

  1. 解决在django中应用keras模型时出现的ValueError("Tensor %s is not an element of this graph." % obj)问题

    用keras训练好模型,再在django初始化加载模型,这个过程没有问题,但是在调用到模型执行model.predict()的时候就报错: raise ValueError("Tensor ...

  2. Django中的Model(字段)

    Model Django中的model是用来操作数据库的,Model是一个ORM框架,我们只需要关心model的操作,而不需要关心到底是哪一种数据库. 一.基本知识: 数据库引擎: Django中自带 ...

  3. Django中的Model继承

    Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库:还是让父 model 只包含基本的公共信息,而这些信息只能由 ...

  4. Django 中的 model 继承

    Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库:还是让父 model 只包含基本的公共信息,而这些信息只能由 ...

  5. PyQt(Python+Qt)学习随笔:Model/View架构中的Model模型概念

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 Model/View架构中的Model模型Model与数据源通信,为体系结构中的其他组件提供数据接口 ...

  6. Django 中自定义用户模型及集成认证授权功能总结

    1. 概述 Django 中的 django.contrib.auth 应用提供了完整的用户及认证授权功能. Django 官方推荐基于内置 User 数据模型创建新的自定义用户模型,方便添加 bir ...

  7. Django中的Model(操作表)

    Model 操作表 一.基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = m ...

  8. Django中的Model(表结构)

    Model(表设计) 在这里只提经常用到的三种联表结构: 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.O ...

  9. ASP.NET Core MVC 中的 Model 模型

    ASP.NET Core MVC 中的 Model 我们希望最终从 Student 数据库表中查询特定的学生详细信息并显示在网页上,如下所示. MVC 中的模型包含一组表示数据的类和管理该数据的逻辑. ...

随机推荐

  1. c# 取得扩展名

    string KZM=files[0].FileName.Substring(files[0].FileName.LastIndexOf(".") + 1);

  2. javascript判断键盘按键

    window.document.onkeydown = disableRefresh; function disableRefresh(evt){ evt = (evt) ? evt : window ...

  3. 第一次写博客,关于前端开发deMVC在js中的应用

    对前端MVC MVC分别是model.view.controller的缩写,模型.视图.控制器.这些更加偏向于后台,在以前MVC是只属于后台的.当然随着技术的进步,前端的大牛们将后台的一些东西应用于前 ...

  4. Couchbase 使用方法

    1.数据流向 List<模型>  数据-->MsgPack 打包成byte[]-> couchbase 实例调用 Store(Enyim.Caching.Memcached.S ...

  5. js页面加载进度条

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Python之路第二天,基础(2)-基本数据类型

    一.Python数据类型 数 在Python中有4种类型的数,整数,长整数,浮点数和复数. 2是一个整数的例子 长整数不过是大一点的整数 3.23和52.3E是浮点数的例子.E标记表示10的幂.52. ...

  7. 一个商品练习的py

    #!/usr/bin/env python # coding=utf-8 # by 星空刺 qian = int(raw_input("请输入当前money:")) gongzi ...

  8. CC2530 PWM波形产生。

    1.使用TIM3_CC1,相关联引脚P1_7 #define GPIOPWM() do{P1SEL |= 0x80;}while(0);#define GPIOCLOSEPWM() do{P1SEL  ...

  9. PostgreSQL的时间函数使用整理

    PG的时间函数使用整理如下 1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012 ...

  10. EBS收单方/收货方

    select rt.name, hcas.org_id from ar.hz_cust_acct_sites_all hcas, ar.hz_cust_site_uses_all hcsu, ra_t ...