Django的模型与字段

Django的模型,包含字段field和操作方法,每个模型在数据库中映射为一张表。

基本原则:

  1. 每个model在django中是一个Python类
  2. 每个model都是django.db.models.Model的子类
  3. model的每个字段代表数据表中的某一列数据
  4. django自动生成访问数据库的API

通常我们将模型编写在model.py下。

创建了模型之后,在使用它之前,要先在settings文件中的INSTALLED_APPS 处,注册models.py文件所在的app

每次对模型做了增删改操作之后,要执行数据库同步操作

python manage.py makemigrations
python manage.py migrate

字段Field

字段体现为Python中的一个类,反映在数据表上是一个列。命名字段不可使用cleansavedelete等Django内置的模型API名字,也不能使用双下划綫,因这是Django内置的一种查询字段的方法。

Django的字段都是继承自django.db.models,也可以自定义。通常命名用驼峰命名法,如AutoField。

常用字段类型:

CharField:字符串类型,必须接收一个max_length参数

DateField:class DateField(auto_now=False, auto_now_add=False, **options)日期类型。一个Python中的datetime.date的实例。两个重要参数:(参数互斥,不能共存) auto_now:每当对象被保存时将字段设为当前日期,常用于保存最后修改时间。auto_now_add:每当对象被创建时,设为当前日期,常用于保存创建日期(注意,它是不可修改的)。

EmailField:邮箱验证字段,默认max_length最大长度254位

ImageField:图片类型字段

FileField:上传文件字段,class FileField(upload_to=None, max_length=100, **options)。

IntegerField:整数类型,最常用的字段之一。取值范围-2147483648到2147483647

TextField:大量文本内容,在HTML中表现为Textarea标签,最常用的字段类型之一!如果你为它设置一个max_length参数,那么在前端页面中会受到输入字符数量限制,然而在模型和数据库层面却不受影响。只有CharField才能同时作用于两者。

原文地址:https://www.cnblogs.com/dion-90/p/8367598.html

时间: 2024-10-08 16:31:40

Django的模型与字段的相关文章

Django现有模型增加字段

对于Django已经存在的模型中需要增加一个字段,如何实现? 首先在model.py文件中找到对应的模型名称,加入需要增加的字段 然后python manage.py sqlall 数据库名 找到新增加的字段的sql语句,记录下来 再执行python manage.py shell 执行如下命令 from django.db import connection cursor=connection.cursor() cursor.execute('ALTER TABLE tablename ADD

django ORM模型常用字段、字段常用参数

在定义字段类型时,如果没有设置null=True,默认为null=False,即默认字段不为空 AutoField:数据库层面为int 类型,自增长,如果不指定主键,模型会自动生成一个叫做 id 的自增长的主键.如果需要指定一个其他名字并且具自增长的主键,使用AutoField也是可以的 BigAutoField:类似AutoField,数据范围更大 BooleanField字段:模型层面值为True或False(数据库层面值为1或0,类型tinyint),并且不接受null=True,即该字段

django模型和字段

一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 每个模型都是django.db.models.Model的子类 模型的每个字段(属性)代表数据表的某一列 Django将自动为你生成数据库访问API 简单示例: 下面的模型定义了一个“人”,它具有first_name和last_name字段: from django.db import models

django项目模型字段

一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 每个模型都是django.db.models.Model的子类 模型的每个字段(属性)代表数据表的某一列 Django将自动为你生成数据库访问API 简单实例 class Blog(models.Model): """ 博客信息 """ nid =

Django之模型的创建

在web应用中,经常涉及到和数据库的的交互,比如我们在京东上买一个东西,查询的时候网站会自动转到后端数据库去查询,然后呈现在网页上 Django 里更关注的是模型(Model).模板(Template)和视图(Views),Django 也被称为 MTV 框架 .在 MTV 开发模式中: M 代表模型(Model),即数据存取层. 该层处理与数据相关的所有事务: 如何存取.如何验证有效性.包含哪些行为以及数据之间的关系等. T 代表模板(Template),即表现层. 该层处理与表现相关的决定:

Django中模型(二)

Django中模型(二) 三.定义模型 1.模型.属性.表.字段间的关系: 一个模型类在数据库中对应一张表:在模型类中定义的属性,对应该模型对照表中的字段. 2.定义属性 A.概述 ·django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 B. ·django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列 C.属性命名限制 ·遵循标识

Django中模型(五)

Django中模型(五) 六.模型查询 1.概述 查询集,表示从数据库获取的对象集合. 过滤器就是一个函数,基于所给的参数限制查询集结果.查询集可以有多个过滤器. 从sql角度来说,查询集合等价于select语句,过滤器等价于where条件. 2.查询集 A.概述 在管理器上调用过滤器方法返回查询集.查询集经过过滤器方法筛选后返回新的查询集,所以可以写成链式调用. B.惰式执行 创建查询集不会带来任何数据的访问,直到调用数据时,才会访问数据库 C.直接访问数据库的情况 迭代.序列化.与if合用

Django之五模型

前言 在第三节,我们讲述了用 Django 建造网站的基本途径: 建立视图和 URLConf . 正如我们所阐述的,视图负责处理一些主观逻辑,然后返回响应结果. 作为例子之一,我们的主观逻辑是要计算当前的日期和时间. 在当代 Web 应用中,主观逻辑经常牵涉到与数据库的交互. 数据库驱动网站 在后台连接数据库服务器,从中取出一些数据,然后在 Web 页面用漂亮的格式展示这些数据. 这个网站也可能会向访问者提供修改数据库数据的方法. 许多复杂的网站都提供了以上两个功能的某种结合. 例如 Amazo

<三>django模板 模型 模型关系

django模板 模板查找顺序: 查找顺序 setting.py(INSTALL_APPS)顺序查找(APP)templates目录下的所有模板名字的字符串匹配(先全局,再局部),一旦匹配就不会再找 查找路径 完整路径:$APP/templates/user/login.html(从templates路径下算起) from django.shortcuts import render from django.views import View from django.views.generic.