我认识的Django之model

4人阅读 评论(0) 收藏 举报
分类:

ORM简介

orm是    MVC框架一个重要部分,它实现了数据模型和数据库的结藕,即数据模型的设计不需要依赖特定的数据库,通过简单的配置可以轻松的换数据库。(关系数据库)

ORM是对象--关系--映射 的简称。主要任务是

根据对象的类型生成表结构

将对象,列表的操作转化为sql语句

将sql查询的结果转换为对象,列表

Django中的模型包含存储数据的字段和约束,对应数据库的唯一的表


使用MYSQL数据库

迁移是创建数据库的表,而不是数据库

所以,数据库需要我们自己去创建

 -------------------------------------

在虚拟环境中创建mysql包

pip install mysql-python

使用创建数据库命令:create databases xxx(数据库名) charset-utf8;

在django中配置数据库databases;

setting---Databases

-------------------------------------

创建项目 python mange.py createproject XXXX(项目名称)

step1:创建虚拟环境
step2:安装django
step3:创建项目
step4:创建应用
step5:在models.py中定义模型类
step6:定义视图
step7:配置url
step8:创建模板

字段选项

通过字段选项,可以实现对字段的约束

在字段对象时同关键字段指定

null :如果为true,Django将空值以NULL存储在数据库,默认值为False

blank:如果为True,则该字段允许为空白,默认值时False

对比:

null是数据库的范畴,blank是表单验证的范畴

db_column:字段的名称,如果未指定,则使用属性的名称(字段属性名字可以和数据库属性名字不一致)

db_index :若值为True,则在表中会为此字段创建索引

default:默认值

primary_key :若为True,则该字段会成为模型的主键字段’

unique:若为True,则这个字段在表中必须有唯一值


元选项

在模型类中定义类Meta,用于设置元信息(在类中定义类)

元信息db_table:定义数据库表名称,推荐使用小写字母,数据表的默认名称

--ordering:默认排序字段,获取对象的列表时使用,介绍属性构成的列表

默认名字:<app的名字>_<模型类的名字>

例子 df_goods_goodsinfo(df_goods是应用名字;goodsinfo是数据库的模型类)


class Meta()"

    ordering=["-id"] "-id"代表该字段按倒序排列 

在创建表的时候创建排序会增加数据库的开销








查看评论

django关于model查询

Python代码   class Blog(models.Model):       name = models.CharField(max_length=100)       tagline ...
  • permike
  • permike
  • 2016-10-10 16:02:59
  • 3119

django model 的字段以及字段属性

model field 类型 1、AutoField 一个自增的IntegerField,一般不直接使用,Django会自动给每张表添加一个自增的primary key。2、BigInteg...
  • u014655053
  • u014655053
  • 2017-05-20 21:24:54
  • 633

django学习笔记之(model设计与实现)

最近一直学习django中,正巧有一个项目给我练手,从今天开始记录一下过程。 django中设计model是写web最开始的任务,话不多说,此处就遇到问题记录一下: 1.类的顺序问题。因为python...
  • u010576100
  • u010576100
  • 2015-08-04 12:28:22
  • 722

Django Model实例

参考文献: https://docs.djangoproject.com/en/1.9/ref/models/instances/ 1 创建一个model 一个model相当于python中的cl...
  • lion19930924
  • lion19930924
  • 2016-06-01 20:45:50
  • 708

Django-Model

4.1 定义模型 数据模型通常是Web应用程序的基础,从这里开始探索Django开发的细节。 Django的数据库模型层使用了大量的 ORM(对象关系映射),这一节 先解释下 Django的OR...
  • u012643122
  • u012643122
  • 2016-09-23 11:07:51
  • 1695

Django笔记教程:三、Model进阶

Model 进阶学习简介Django经常被用于一些创业团队,乃是因为其非常适合敏捷开发,开发效率非常之高。Model 作为Django重要组成部分也是亮点之一,着实需要我们花时间好好梳理一遍。 ...
  • alvine008
  • alvine008
  • 2015-11-24 16:54:21
  • 6484

获取django model 中得fields

UserProfile._meta.fields [,  , , , , params = UserProfile._meta.fields for t in range(l...
  • taozuihen17
  • taozuihen17
  • 2014-10-28 11:22:29
  • 2336

django创建model

django创建model
  • aca_jingru
  • aca_jingru
  • 2015-08-13 09:16:36
  • 1697

关于Django model 与json序列的转换

点击打开链接 class MyUser(models.Model): name = models.CharField(max_length=30,verbose_name='用户名称') ...
  • u010271717
  • u010271717
  • 2014-03-21 14:57:25
  • 1638

提高django model效率的几个小方法

django的model效率不是很高,特别是在做大量的数据库操作的时候,如果你只用django来开企业站或者外包项目的话,那可以小跳过下,而你恰巧是效率狂或者说是对程序的效率要求比较高的话,那就要注意...
  • junli_chen
  • junli_chen
  • 2015-09-04 15:57:18
  • 1037
    个人资料
    等级:
    访问量: 14
    积分: 91
    排名: 300万+
    文章存档