常用字段
下面只讲实际中比较常用的字段,其他字段可以参考Django官方文档:https://docs.djangoproject.com/en/3.2/ref/models/fields/
AutoField
AutoField一般用在主键,要设置primary_key。这个字段有自动增长的特点
# models
# AutoField一般用在主键
id = models.AutoField(primary_key=True)
CharField
CharField在数据库层面是varchar字段,需要指定max_length
# models.py
name = models.CharField(max_length=20)
IntegerField
# models.py
# 整型
num = models.IntegerField()
FloatField
# models.py
# 浮点型
price = models.FloatField()
TextField
# models.py
# 长文本类型
text = models.TextField()
DateTimeField
日期时间类型
这个需要注意的点是时区问题,Django的settings.py里面有一项这个配置
# 时区
TIME_ZONE = 'UTC'
UTC是世界时间,和我们日常的时间会有差别,所以需要改为
TIME_ZONE = 'Asia/Shanghai'
改完后需要将世界时关闭
USE_TZ = False
time = models.DateTimeField(auto_new_add=True)
#time = models.DateTimeField(auto_new=True)
- auto_new_add:在第一次添加数据的时候设置时间
- auto_new:每次数据保存时,都会记录时间
拓展
模型中Meta的配置
class Book(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=20)
class Meta:
# 设置表名
db_table = 'book'
# 根据id正序排列
ordering = ['id']
# 根据id降序排列
ordering = ['-id']