[TOC=1,5]
>[success] # model 字段
**对照**
~~~
from django.db import models
# Create your models here.
class Business(models.Model):
caption = models.CharField(max_length=32)
~~~
>[success] # 常用字段
>[info] ## 自增列设置
>[danger] ##### AutoField
~~~
1.一个根据实际ID自动增长的IntegerField
2.用法nid = models.AutoField(primary_key=True)
~~~
>[danger] ##### BigAutoField
~~~
1.一个64位整数,非常像[AutoField]除了它保证适合1到9223372036854775807之间的数字
~~~
>[info] ## 数字设置
>[danger] ##### IntegerField整数
~~~
1.一个整数。 在Django所支持的所有数据库中,
2.从 -2147483648 到 2147483647 范围内的值是合法的
~~~
* * * * *
</br>
>[danger] ##### BigIntegerField
~~~
1.一个64位整数,非常像[IntegerField]
2.除了它保证适-9223372036854775808到9223372036854775807之间的数字
~~~
* * * * *
</br>
>[danger] ##### SmallIntegerField-32768 至 3276
~~~
1.该字段值在 -32768 至 32767这个范围内对所有可支持的数据库都是安全的。
~~~
* * * * *
</br>
>[danger] ##### PositiveIntegerField 0-2147483647整数
~~~
1.类似 [IntegerField]( 但值必须是正数或者零(0).
2.从0到2147483647的值在Django支持的所有数据库中都是安全的。 由于向后兼容性原因,接受值0。
~~~
* * * * *
</br>
>[danger] ##### PositiveSmallIntegerField 0 到 32767
~~~
1.该模型字段类似 [PositiveIntegerField] 但是只允许小于某一特定值(依据数据库类型而定)。
2.从0 到 32767 这个区间,对于Django所支持的所有数据库而言都是安全的。
~~~
* * * * *
</br>
>[danger] ##### DecimalField保存小数
~~~
class DecimalField(max_digits=None, decimal_places=None, **options)
两个参数
max_digits:位数总数,包括小数点后的位数。 该值必须大于等于decimal_places
decimal_places:小数点后的数字数量
保存999.99实例
models.DecimalField(..., max_digits=5, decimal_places=2)
~~~
* * * * *
</br>
>[danger] ##### FloatField保存小数
~~~
用Python的一个float 实例来表示一个浮点数.
~~~
>[info] ## BOOLEAN 设置
>[danger] ##### BooleanField true/false 字段
~~~
1.如果[Field.default]没有指定的话, BooleanField 的默认值是 None
2.只能填写True 或者 Flase,否则会报错
3.models.T_Boolean.objects.create(t_boolean=True)
~~~
* * * * *
<br>
>[danger] ##### NullBooleanField true/flase 用来设置 是否可以为null
~~~
1.如果你需要设置[null]值,则使用[NullBooleanField]来代替BooleanField
~~~
* * * * *
<br>
>[info] ## 用来储存字符串
>[danger] ##### CharField-限制长度
~~~
1.class CharField(*max_length=None*, ***options*)[source]
2.一个用来存储从小到很大各种长度的字符串的地方
3.注意CharField必须接收一个额外的参数max_length将
4.会在model或者数据库级别强制性的限定字段长度
~~~
* * * * *
<br>
>[danger] ##### TextField
~~~
1.class TextField(**options)
2.大文本字段。 该模型默认的表单组件是[Textarea],如果你在这个字段类型中使用了max_length属性,
~~~
* * * * *
<br>
>[danger] ##### URLField- url字段设置
~~~
1.class URLField(max_length=200, **options)
2.一个[CharField]类型的URL
3.这个字段默认的表单组件是一个[TextInput]
~~~
* * * * *
<br>
>[info] ## 时间字段设置
~~~
auto_now -> 更新时,自动更新为当前时间 【变】
auto_now_add -> 创建时,自动生成时间 【不变】
注:auto_now当直接调用update更新自动更新无效,需要用save
~~~
更新的时候auto_now的字段会自动更新,不用去特意调整时间,也就导致了更新的时候不能用下面的第一行,而是save配合
~~~
obj = UserGroup.objects.filter(id=1).update(caption='CEO')
obj = UserGroup.objects.filter(id=1).first()
obj.caption = "CEO"
obj.save()
~~~
>[danger] ##### TimeField--datetime.time()
~~~
格式00:00:00
1.class TimeField(auto_now=False, auto_now_add=False, **options)
2.时间字段,和Python中 datetime.time 一样。 接受与[DateField]相同的自动填充选项。
3.这个字段默认的表单组件是一个[TextInput]. Admin添加一些JavaScript快捷方式。
~~~
* * * * *
<br>
>[danger] ##### DateField--datetime.date
~~~
1.日期格式 YYYY-MM-DD 对应的 python 函数 datetime.date
2.class DateField(auto_now=False, auto_now_add=False, **options)[source]
~~~
* * * * *
<br>
>[danger] ##### DateTimeField--datetime.datetime
~~~
1.日期+时间格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]对应的 python 函数 datetime.datetime,参数使用同上
~~~
* * * * *
<br>
>[info] ## 文件上传
>[danger] ### FileField 上传文件字段
>class FileField(upload_to=None, max_length=100, **options)
参数upload_to:该属性提供设置上传目录和文件名的方式,可以通过两种方式进行设置
使用的时候在setting.py文件中设置好相关属性
~~~
MEDIA_ROOT = os.path.join(BASE_DIR, 'upload/')
MEDIA_URL = '/upload/' #这个是在浏览器上访问该上传文件的url的前缀
~~~
这个 字段只起到 保存路径的左右实际,文件的储存位置还是,要在写入的时候就设置好
>[danger] ##### views 层
~~~
f = request.FILES.get('w')
obj = models.User.objects.create(avatar=f)
~~~
>[danger] ##### 第一种
~~~
class MyModel(models.Model):
# 文件将上传到MEDIA_ROOT/uploads
upload = models.FileField(upload_to='uploads/')
~~~
* * * * *
<br>
>[danger] ##### 第二种
~~~
class MyModel(models.Model):
# 文件将保存到MEDIA_ROOT/uploads/2015/01/30
upload = models.FileField(upload_to='uploads/%Y/%m/%d/')
~~~
* * * * *
<br>
>[danger] ##### 第三种
~~~
def user_directory_path(instance, filename):
# file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
return 'user_{0}/{1}'.format(instance.user.id, filename)
class MyModel(models.Model):
upload = models.FileField(upload_to=user_directory_path)
~~~
>[danger] ### ImageField 图片路径
~~~
ImageField(FileField)
- 字符串,路径保存在数据库,文件上传到指定目录
- 参数:
upload_to = "" 上传文件的保存路径
storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
width_field=None, 上传图片的高度保存的数据库字段名(字符串)
height_field=None 上传图片的宽度保存的数据库字段名(字符串)
~~~
* * * * *
<br>
>[danger] ##### FilePathField
~~~
FilePathField(Field)
- 字符串,Django Admin以及ModelForm中提供读取文件夹下文件的功能
- 参数:
path, 文件夹路径
match=None, 正则匹配
recursive=False, 递归下面的文件夹
allow_files=True, 允许文件
allow_folders=False, 允许文件夹
~~~
>[info] ## IP 字段
>[danger] ##### GenericIPAddressField
~~~
字符串类型,Django Admin以及ModelForm中提供验证 Ipv4和Ipv6
参数:
protocol,用于指定Ipv4或Ipv6, 'both',"ipv4","ipv6"
unpack_ipv4, 如果指定为True,则输入::ffff:192.0.2.1时候,可解析为192.0.2.1,开启刺功能,需要protocol="both"
~~~
- 网络原理
- 为搭建框架做准备
- 简单认识网路
- 自定义模拟网站案例
- 优化最终框架
- 数据存储 -- data
- 用户个人信息存储 -- User.txt
- 路由映射 -- routes
- 处理用户信息 -- routes_static.py
- 保存静态文件 -- static
- templates -- html 集中处理模块
- 首页 -- index.html
- 登陆 -- login.html
- 用户注册页面 -- register
- 日志模块 -- log.gua.txt
- 启动文件--server.py
- orm处理 -- model.py
- 日志模块 -- utils.py
- 两种数据库类型
- 传统数据库了解篇
- 前端快速入门
- JS简单使用入门
- css简单快速入门
- DJANGO
- virtualenv-创建虚拟环境
- 项目结构
- django-admin中文配置
- django-打印sql语句
- django-基础
- 认识MVC和MTV
- Django--初识
- Django--初识案例
- Django-FBV/CBV
- Django--常用input 交互
- Django-url
- Django-url.py 配置
- Django-include 使用
- Django-url name
- Django-ORM
- ORM-数据库配置
- ORM-model字段
- ORM-model字段解释
- ORM-字段选项
- ORM-查询
- ORM-四种常用查询方法
- ORM-三种获取数据
- ORM-其他查询方式
- ORM-条件查询双线
- ORM-Q和F条件使用
- ORM-三种数据库交互
- 案例 -- 一对多
- ORM-技巧/常见问题
- ORM-N+1 问题
- ORM-并发的处理
- ORM-数量查询、
- ORM-正向反向查询
- ORM-基础案例一
- ORM-基础一对多案例
- Django-templates
- Django-模板的继承
- Django-模板的过滤
- Django-自定义模板的过滤
- Django-cookie
- Django-cookies 装饰器
- Djang-session
- Django-CSRF
- Django-中间件 -- 后续了解
- Django- 缓存 -- 没有深入了解
- Django-form
- From-ajax
- form-内部验证处理
- form-属性
- form-常用的标签字段
- form-常用的下拉和选择
- form-widget速查
- Django-ajax序列化
- Django-多种ajax写法
- ajax-原生写法
- ajax-$写法
- ajax-ifram
- Django-ajax图片上传
- ajax-原始写法
- ajax-正常写法
- iframe+form
- 实战写法
- Django-常用自编写组件
- Django-双菜单组合搜索
- Django - 多菜单组合搜索
- Django-分页
- django-综合基础
- 综合基础-render
- django-admin
- admin-页面配置
- admin-字段配置
- admin-编辑页面
- admin-forms验证
- admin-创建抽象类
- django-验证码
- 验证码-第三方生成库
- 验证码-view.py使用
- 验证码-注意引入Monaco.ttf
- django-用户注册
- 注册-form 模块
- 注册-views 模块
- 注册-html模块
- 注册-model模块
- django-用户登录三种
- session登录
- form-session 写法
- view-写法
- Html-写法
- model-写法
- 继承类登录
- 外键关联登录
- django-简单的student 管理案例
- app-urls.py
- app-models.py配置
- admin-admin.py配置
- app-form.py 和数据库关联的写法
- app-FBV_views.py
- app-CBV_views.py
- templates-index.html
- django-博客系统
- APP目录-models.py 创建
- APP目录-基础展示数据分析
- APP目录-基础数据展示cls
- ListView
- DetailView
- FormView
- 额外功能拓建
- 添加文章搜索/用户文章查询功能
- 增加一个友情链接
- 增加一个评论模块
- App-利用Bootstrap4 搭建样式
- 项目crm
- 思维导图
- perfectCRM-项目名字
- settings.py-配置
- view.py-登陆/登出函数
- crm-app文件
- model.py-表的创建
- admin.py-注册后台
- view.py-视图层
- static-静态文件
- css
- bootstrap.min.css
- dashboard.css
- ie10-viewport-bug-workaround.css
- signin.css
- fonts
- imgs
- js
- jquery.js
- bootstrap.min.js
- holeder.js
- ie10-viewport-bug-workaround.js
- ie-emulation-modes-warning.js
- plugins
- html模板文件-templates
- crm
- index.html-首页模板