Django2 时间策略

本文转载至:https://juejin.im/post/5c7e1734f265da2dc2320a30

一、Django 数据模型涉及时间函数:

1、DateField:可以记录年月日,映射到数据库是date类型
2、DateTimeField:可以记录年月日时分秒,映射到数据库是datetime类型
3、TimeField:可以记录时分秒,映射到数据库是time类型

二、Django 使用时间字段步骤:

1、项目settings.py配置

TIME_ZONE = 'Asia/Shanghai'  # 时区的选择
# 如果USE_TZ=False,那么django获取到的当前时间就是一个navie类型的时间,
# 网上很多资料写的是设置False,但是实际开发过程中设置True
USE_TZ = True

2、应用数据模型定义,使用时间函数(models.py)

from django.db import models


class ArticleModel(models.Model):
    """
    文章的模型
    """
    title = models.CharField(max_length=100, verbose_name='文章标题')
    create_time = models.DateTimeField(verbose_name='文章创建时间')

    class Meta(object):
        db_table = 'article'

    def __str__(self):
        return '<ArticleModel>({}, {})'.format(self.title, self.create_time)

3、在应用视图中添加一条关于时间的记录(views.py)

from django.shortcuts import render
from django.views import View
# 引入模块
from django.utils.timezone import now, localtime
from . import models


class ArticleView(View):
    """
    文章的视图类
    """

    def get(self, request, *args, **kwargs):
        models.ArticleModel.objects.create(title='第一篇文章', create_time=now())
        return render(request, 'article.html')

三、Django数据模型使用时间字段

1、使用字段

create_time = models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')
update_time = models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')

2、关于auto_now_add的认识

auto_now_add会在第一次添加数据的时候自动获取当前时间

3、关于auto_now的认识

auto_now会在每次对象调用save方法的时候更新为当前时间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值