我认识的Django之model

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"代表该字段按倒序排列 

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








阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页