美文网首页程序员
Django模型简介

Django模型简介

作者: Real_man | 来源:发表于2018-10-22 08:28 被阅读7次

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

  • 每一个模型是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 definition
INSTALLED_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类型参考

Model field reference

相关文章

  • Django模型简介

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

  • Django介绍与框架整合,并使用MySQL实现增删改查

    Django简介 django是一个开放源代码的Python web应用框架。采用MTV模式,即模型M,模板T和视...

  • Django入门

    Django简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型...

  • 简约而不简单的Django新手图文教程

    Django简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型...

  • 1.搭建Django应用框架

    Django简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型...

  • Django之旅:1

    包含内容 Django简介 Django环境搭建 Django创建项目 访问Django项目 Django简介 在...

  • Django模型[ORM框架简介]

    ORM框架 O是object,也就 类对象 的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据...

  • 四 Django 模型和数据库基础

    一、简介 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支...

  • Django安装使用

    Django 简介 Django 是一个高质量的WEB框架,它提供一套程序框架,让我们更专注与WEB视图与模型开发...

  • Django模型之meta选项详解

    Django模型之meta选项详解 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行...

网友评论

    本文标题:Django模型简介

    本文链接:https://www.haomeiwen.com/subject/jodwzftx.html