Django学习-第七讲:django 中的常用字段、字段属性,外键和表关系、外键操作

1. django中的常用字段

1. AutoField

映射到数据库中是int类型,可以有自动增长的特性。一般不需要使用这个类型,如果不指定主键,那么模型会自动的生成一个叫做id的自动增长的主键。如果你想指定一个其他名字的并且具有自动增长的主键,使用AutoField也是可以的。

2. BigAutoField

64位的整形,类似于AutoField,只不过是产生的数据的范围是从1-9223372036854775807。

3. BooleanField

在模型层面接收的是True/False。在数据库层面是tinyint类型。如果没有指定默认值,默认值是None。

4. CharField

在数据库层面是varchar类型。在Python层面就是普通的字符串。这个类型在使用的时候必须要指定最大的长度(max_lenth),也即必须要传递max_length这个关键字参数进去。
(choice = )

最大长度计算:https://www.cnblogs.com/canger/p/9850727.html

5. DateTimeField

日期时间类型,不仅仅可以存储日期,还可以存储时间。映射到数据库中是datetime类型。
在django中是有时区的概念的,使用时要考虑到时区的问题,默认使用的是 UTC时区,分为 navie(没时区) 和 aware(有时区),如果项目不是国际的,可以我们将时区关闭,使用本地的时间。
我们可以在settings.py 中修改相应的时区和是否使用时区

TIME_ZONE = 'Asia/Shanghai'
USE_TZ= True  # 为True意味在项目中使用的是 aware 时间,如果为false则意味着使用的是 navie 时间
TIME_ZONE = 'Asia/Shanghai'

from django.utils.timezone import localtime,now

auto_now:在每次这个数据保存的时候,都使用当前的时间。
比如作为一个记录修改日期的字段,可以将这个属性设置为True。

auto_now_add:在每次数据第一次被添加进去的时候,都使用当前的时间。
比如作为一个记录第一次入库的字段,可以将这个属性设置为True。

6. EmailField

类似于CharField。在数据库底层也是一个varchar类型。最大长度是254个字符。

7. FileField

用来存储文件的。(upload_to= )指定存储到哪个目录下

8. ImageField

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值