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 ...
随机推荐
- bleve搜索引擎是支持基于field搜索的
Query String Query The query language query allows humans to describe complex queries using a simple ...
- 如何配置xmanager
步骤1:编辑/etc/X11/xdm/Xaccess,将下面的行: #* # any host can get a login window 改为: * # any host can get a ...
- Preface Numbering
链接 分析:先打表需要用到的罗马数字,然后暴力转换,最后统计一下即可 /* PROB:preface ID:wanghan LANG:C++ */ #include "iostream&qu ...
- 算法实现c语言--01
打印九九乘法表 #include<stdio.h> #include<stdlib.h> int main() { , j = ; ; i <= ; i++) { ; j ...
- 配置web应用
web应用配置虚拟主机1.web应用的虚拟路径映射,就是web应用的真实存在的路径配置一个虚拟路径 在conf目录下的Server.xml 的<Host>标签中,配置<Context ...
- live555 基本类之间的关系
live555 中存在这5个最基本的类.每个类中都拥有一个BasicUsageEnvironment. 这是这几个类之间的相互关系. MediaSession可以拥有多个subsession.
- CS231n 2016 通关 第五章 Training NN Part1
在上一次总结中,总结了NN的基本结构. 接下来的几次课,对一些具体细节进行讲解. 比如激活函数.参数初始化.参数更新等等. ====================================== ...
- css3单位em,rem,px,vw,vh等
昨天发现了个好用的方法去设置手机端的rem单位,在这里记录下. html{ font-size:calc(100vw/7.5);} 这是按照750的设计稿(也就是iphone6的设计稿). 100vw ...
- Junit使用注意点
注意点 1. 使用了@BeforeClass后@Ignore将会失效
- Codeforces 61B【怪在读题】
搞不懂为什么DFS的写法崩了,然后乱暴力,因为题意不是很懂... 主要还是读题吧(很烦 #include <bits/stdc++.h> using namespace std; type ...