serializers.DateTimeField 总共有 3 个参数,
format,input_formats,default_timezone
分别表示格式化的样式,输入格式化的样式,默认时区。
其中 format 比较好理解,一般可以设置为%Y-%m-%d %H:%M:%S
default_timezone 是一个 pytz.timezone 对象
import pytz
from rest_framework import serializers
start_time = serializers.DateTimeField(
format='%Y-%m-%d %H:%M:%S', default_timezone=pytz.timezone('Asia/Shanghai')
)
提一嘴,format 是在 to_representation 使用的,input_formats 是在 to_internal_value 时使用
在 web 开发中,经常会需要获取当天的数据
from datetime import datetime
from datetime import time
from datetime import timedelta
from django.utils import timezone
from django.utils.timezone import make_aware
today = timezone.now()
tomorrow = today + timedelta(1)
today_start = make_aware(datetime.combine(today, time()))
today_end = make_aware(datetime.combine(tomorrow, time()))
除了使用命令行调用,还可以使用函数去调用
from django.core.management import call_command
call_command("command_name", )