Django的模型与字段
Django的模型,包含字段field和操作方法,每个模型在数据库中映射为一张表。
基本原则:
- 每个model在django中是一个Python类
- 每个model都是django.db.models.Model的子类
- model的每个字段代表数据表中的某一列数据
- django自动生成访问数据库的API
通常我们将模型编写在model.py下。
创建了模型之后,在使用它之前,要先在settings文件中的INSTALLED_APPS
处,注册models.py
文件所在的app
每次对模型做了增删改操作之后,要执行数据库同步操作
python manage.py makemigrations
python manage.py migrate
字段Field
字段体现为Python中的一个类,反映在数据表上是一个列。命名字段不可使用clean
、save
、delete
等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才能同时作用于两者。
Django的模型与字段的更多相关文章
- django中模型详解-字段类型与约束条件
这片博文来详细说明django模型的使用,涉及到django模型的创建,字段介绍,以及django模型的crud操作,以及一对一等操作. 在使用模型之前,我们首先设置数据库选项,django的默认数据 ...
- django的模型和基本的脚本命令
python manage.py startproject project_name 创建一个django项目 python manage.py startapp app_name 创建一个app ...
- 模型和字段 -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- django模型和字段
一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 ...
- python django 更改模型字段出错时的一个解决办法
python/django 框架自带的 orm 无疑是django框架最拿得出手的一个亮点,orm无疑极大的方便了项目的开发,提高了开发的效率. 在实际的项目开发过程中,我们有时候需要修改模型的字段, ...
- django项目模型字段
一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 ...
- Django(七)模型:字段属性、字段选项(参数)
一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...
- Django ormmodel模型字段参考文章
Model 字段参考 (Model field reference)¶ 本文档包含所有 字段选项 (field options) 的内部细节和 Django 已经提供的 field types . 参 ...
- Django文档——Model字段类型(Field Types)
大部分内容参考自http://wrongwaycn.github.io/django11/topics/db/models/index.html#topics-db-models ,内容是django ...
随机推荐
- Opencv— — water wave
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- webstorm怎样查找历史记录
在webstorm中 文件界面右键,local History --> show History 上面能看到具体的日期和编写的代码. 如果想回到某一次的代码.把中间的代码按>>移入到 ...
- java-swingButton
package com.http; import java.awt.*; import java.awt.event.*; import javax.swing.*; import com.http. ...
- HDU 1394 树状数组+离散化求逆序数
对于求逆序数问题,学会去利用树状数组进行转换求解方式,是很必要的. 一般来说我们求解逆序数,是在给定一串序列里,用循环的方式找到每一个数之前有多少个比它大的数,算法的时间复杂度为o(n2). 那么我们 ...
- bzoj3832
拓扑排序+set 如果我们直接记录所有路径是不行的,那么我们要降低路径的数量,于是我们把最短路径转换到边上,这样我们就只有m条路径了. 先计算出f[i]和g[i]表示正反拓扑最长链,把所有g插到set ...
- PYTHON实现DFS算法
class Vertice: def __init__(self,index): self.no = index self.color = 0 # 0:white 1 gray 2 black sel ...
- hexo新建md文档推送到blog出错
1. git错误提示 $ hexo g INFO Start processing FATAL Something's wrong. Maybe you can find the solution h ...
- 51nod 1297
思路: 搞个栈模拟一下,也才5w; 直接wa1了..然后想到井口如果都进不去那就...一定GG了. 所以维护一下从井口到井底是非递增的就好了: #include <cstdio> #inc ...
- MySQL存储引擎的区别
一.mysql中myisam,innodb和memory三个存储引擎的区别 1.区别:1) MyISAM管理非事务表.提供高速存储和检索,以及全文搜索能力.MyISAM在所有MySQL配置里被支持,是 ...
- ThinkPHP3.2.3学习笔记5---模板(一)
一.模板简介 此文中的学习笔记部分资料是来自于thinkphp官方文档,http://document.thinkphp.cn/manual_3_2.html#template 本章的内容主要讲述了如 ...