博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django模型简介
阅读量:5832 次
发布时间:2019-06-18

本文共 1122 字,大约阅读时间需要 3 分钟。

模型是一个定义数据源的数据,它包含要存储数据的一些属性和行为。通常,每一个模型对应数据库中的一个数据表。

  • 每一个模型是django.db.models.Model的子类
  • 每一个模型属性代表数据表的一个字段。
  • Django提供了自动生成的数据库访问API,使用模型操作数据库很方便

模型案例

下面的代码定义了Person模型,有first_name和last_name:

from django.db import models class Person(models.Model):    first_name = models.CharField(max_length=30)     last_name = models.CharField(max_length=30)

first_name和last_name代表模型的field(属性),每一个属性对应到数据表的一个列,上面的模型代码对应的数据表将是如下:

CREATE TABLE myapp_person (     "id" serial NOT NULL PRIMARY KEY,     "first_name" varchar(30) NOT NULL,     "last_name" varchar(30) NOT NULL );
  • 表名称前缀 myapp 是在配置文件中配置的,可以覆盖
  • id元素是自动添加的,也可以做一些自定义的操作
  • 这里的语句使用的是PostgreSQL语法,在settings.py中配置其它类型的数据库,可以生成对应数据库的语法

使用模型

当你定义好模型之后,你需要告诉Django你要用这些模型了,通过修改settings.py文件中INSTALLED_APPS部分来添加新的模块名称,包含刚定义的model。

# Application definitionINSTALLED_APPS = [    'myqpp',    ...]

添加新的模块之后,不要忘了运行迁移命令是模型生效。

python manage.py migrage

模型属性(Field)

Field是模型中最重要的部分,也是必须要有的部分。它定义了 Python 模型与数据表之间的对应关系。

注意定义属性名称时不要使用有冲突含义的字段名称。如save,clean,delete

Field Type

模型的每一个属性都应该是 Field 类的实例,Django使用Field类处理如下事情:

  • 数据表 column 列的类型,Interger,VARCHAR, TEXT
  • 字段验证validate

Django预定义了很多Field,这里有一份完整的Field类型参考

转载地址:http://ltrdx.baihongyu.com/

你可能感兴趣的文章
美团数据仓库的演进
查看>>
SAP被评为“大数据”预测分析领军企业
查看>>
联想企业网盘张跃华:让文件创造业务价值
查看>>
记录一次蚂蚁金服前端电话面试
查看>>
直播源码开发视频直播平台,不得不了解的流程
查看>>
Ubuntu上的pycrypto给出了编译器错误
查看>>
聊聊flink的RestClientConfiguration
查看>>
在CentOS上搭建git仓库服务器以及mac端进行克隆和提交到远程git仓库
查看>>
測試文章
查看>>
Flex很难?一文就足够了
查看>>
【BATJ面试必会】JAVA面试到底需要掌握什么?【上】
查看>>
CollabNet_Subversion小结
查看>>
mysql定时备份自动上传
查看>>
Linux 高可用集群解决方案
查看>>
17岁时少年决定把海洋洗干净,现在21岁的他做到了
查看>>
linux 启动oracle
查看>>
《写给大忙人看的java se 8》笔记
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>
Windows XP倒计时到底意味着什么?
查看>>