码迷,mamicode.com
首页 > 编程语言 > 详细

Python-Django-常用字段和参数

时间:2019-01-16 15:01:40      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:set   字符串   包含   级联删除   返回   常用   自增列   dmi   date()   

-1 表模型如果不写主键,orm会自动创建一个主键
-2 常用字段

AutoField
int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。
IntegerField
一个整数类型,范围在 -2147483648 to 2147483647。
CharField
字符类型,必须提供max_length参数, max_length表示字符长度。
DateField
日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。
DateTimeField
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例
BooleanField
-对到数据库int类型

不常用

SmallIntegerField
TextField:大文本
EmailField:虽然写的是email,存的时候,只要是字符串就可以(admin内的校验)
FileField(Field):存文件
DecimalField

-orm字段参数

-null
-unique:唯一性约束
-db_index:给某个字段加索引
-default
- DateField和DateTimeField
# auto_now_add=True 表示我要新增一条数据,自动设成当前时间
# auto_now=True 只要修改,就更新成当前时间

-关系字段:

-ForeignKey

-to
-to_field
-related_name
-related_query_name
-on_delete:
在删除的时候,做什么操作
-models.CASCADE 可以级联删除(lqz觉得不好)
-models.SET_NULL (lqz推荐用它)
-models.SET_DEFAULT

-OneToOneField

-同ForeignKey

-ManyToManyField

-自关联(自己关联)
-评论表
id user article content parent_id
1 1 1 你好 null
2 2 1 傻逼 1

-多对多关系自动,手动创建第三张表(中介模型)

第一种:全部手动创建,book跟author没有关联关系(不好,不建议使用)
第二种:自动创建第三张表(不太好,第三张表如果有其它字段,就不行了)
第三张:手动创建第三张表,并且用ManyToMany关联,所有的查询跟之前一样,只是增,删,改,需要通过表模型来处理

-db_constraint=False

-only和defer   

# 总结
# only和defer 返回结果是queryset对象内包裹表模型的对象
# only,就是只查我指定的字段,一定会包含id 注意:没查的字段不要再用了
# defer,指定不取哪个字段,一定会包含id 注意:没查的字段不要再用了

Python-Django-常用字段和参数

标签:set   字符串   包含   级联删除   返回   常用   自增列   dmi   date()   

原文地址:https://www.cnblogs.com/du-jun/p/10276822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!