25.常用的字段类型映射关系,字段类型及Field的常用参数
Posted 孤寒者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25.常用的字段类型映射关系,字段类型及Field的常用参数相关的知识,希望对你有一定的参考价值。
1.常用的字段类型映射关系:
2常用的字段类型讲解:
- IntegerField : 整型,映射到数据库中的int类型。
- CharField: 字符类型,映射到数据库中的varchar类型,通过max_length指定最大长度。
- TextField: 文本类型,映射到数据库中的text类型。
- BooleanField: 布尔类型,映射到数据库中的tinyint类型,在使用的时候,传递True/False进去。如果要可以为空,则用NullBooleanField。
- DateField: 日期类型,没有时间。映射到数据库中是date类型, 在使用的时候,可以设置DateField.auto_now每次保存对象时,自动设置该字段为当前时间。
设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间。 - DateTimeField: 日期时间类型。映射到数据库中的是datetime类型,
在使用的时候,传递datetime.datetime()进去。
3.Field的常用参数:
- primary_key: 指定是否为主键。
- unique: 指定是否唯一。
- null: 指定是否为空,默认为False。
- blank: 等于True时form表单验证时可以为空,默认为False。
- default: 设置默认值。
- DateField.auto_now: 每次修改都会将当前时间更新进去
- DateField.auto_now_add: 第一次添加进去,都会将当前时间设置进去。以后修改,不会修改这个值
动手实践——实战使用上述所讲!
创建一个供文章使用的模型类!
①模型的定义:
(models.py文件)
from django.db import models
# Create your models here.
class Article(models.Model):
# 文章标题
name = models.CharField(max_length=30,unique=True) #unique唯一
# 文章点赞数
up = models.IntegerField(null=True) #null 允许为空
# 文章内容
text = models.TextField()
# 逻辑删除:比如你删除你的一条微信朋友圈,可能就只是将此默认值改为了False,在用户看来他已经删了这条数据,但是实际上后台人员仍可查询到数据!
is_delete = models.BooleanField(default=True)
create_time = models.DateField(auto_now_add=True) #日期 auto_now_add第一次添加数据进去,会将当前时间设置进去。以后修改,不会修改这个值
update_time = models.DateTimeField(auto_now=True) #日期时间,每次修改都会将当前时间更新进去
②切记——不要忘记迁移数据库哦!
因为我们添加了一个新模型,因此需要迁移数据库。
步骤:
①修改models.py ②执行命令makemigrations music ③再执行命令migrate music。
小注意:
Django系统调用的时间为格林威治时间,中国在东八区,需要加八小时得到中国时间。
需要在settings.py文件中进行设置:
TIME_ZONE = 'Asia/Shanghai'
但经过测试这时不足以修改前端或数据库存储的时间。查阅文档后发现,还需要修改:
USE_TZ = False
③观察可知对应的表已经映射到数据库中:
④进行数据的增加:
(views.py文件)
from django.http import HttpResponse
from .models import Article
def add_user(request):
Article.objects.create(name="橘子洲头",text="橘子洲有青年艺术雕塑、问天台等景点,史载橘子洲生成于晋惠帝永兴二年(305年),为激流回旋冲积、沙石堆积而成。景区内生长着数千种花草藤蔓植物,其中名贵植物就有143种。还有鸥、狐、獾等许多珍稀动物。")
Article.objects.create(name="南岳衡山",text="橘子洲有青年艺术雕塑、问天台等景点,史载橘子洲生成于晋惠帝永兴二年(305年),为激流回旋冲积、沙石堆积而成。景区内生长着数千种花草藤蔓植物,其中名贵植物就有143种。还有鸥、狐、獾等许多珍稀动物。")
return HttpResponse("插入数据成功!")
⑤进行数据修改的话:
(views.py文件中加入以下视图函数:)
def modify_user(request):
j = Article.objects.get(id=2)
j.text = "1982年,衡山风景区被列入第一批国家级重点风景名胜区名单;2006年2月,衡山入选首批国家自然与文化双遗产名录;2007年5月,衡山风景区被评为首批国家5A级旅游景区;2007年8月,衡山被列为国家级自然保护区。"
j.save()
return HttpResponse("数据修改成功!")
注意:
被修改的第二条数据的create_time字段名不会改变;但是对应的字段名update_time会自动改为当前时间!
以上是关于25.常用的字段类型映射关系,字段类型及Field的常用参数的主要内容,如果未能解决你的问题,请参考以下文章