Django-时间字段

python测试开发django(18)--添加创建时间DateTimeField 前言 我们在admin后台发布一篇文章的时候,一般会有创建时间和最后更新时间这2个字段,创建时间就是第一次编辑文章的时候自动添加的,最后更新时间就是每次修改文章的内容后自动更新 在models.py建表的时候,设置create_time和update_time字段,类型为DateTimeField,添加auto_now_add和auto_now参数; DateTimeField 创建django... 阅读详情

创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使用中很容易出错,下面是一些注意点。

DateTimeField.auto_now
这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新。因此这个参数在需要存储“最后修改时间”的场景下,十分方便。需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin中是只读的。

DateTimeField.auto_now_add
这个参数的默认值也为False,设置为True时,会在model对象第一次被创建时,将字段的值设置为创建时的时间,以后修改对象时,字段的值不会再更新。该属性通常被用在存储“创建时间”的场景下。与auto_now类似,auto_now_add也具有强制性,一旦被设置为True,就无法在程序中手动为字段赋值,在admin中字段也会成为只读的。

admin中的日期时间字段
auto_now和auto_now_add被设置为True后,这样做会导致字段成为editable=False和blank=True的状态。editable=False将导致字段不会被呈现在admin中,blank=Ture表示允许在表单中不输入值。此时,如果在admin的fields或fieldset中强行加入该日期时间字段,那么程序会报错,admin无法打开;如果在admin中修改对象时,想要看到日期和时间,可以将日期时间字段添加到admin类的readonly_fields中:

class YourAdmin(admin.ModelAdmin):
    readonly_fields = ('save_date', 'mod_date',)
admin.site.register(Tag, YourAdmin)

如何将创建时间设置为“默认当前”并且可修改
那么问题来了。实际场景中,往往既希望在对象的创建时间默认被设置为当前值,又希望能在日后修改它。怎么实现这种需求呢?

django中所有的model字段都拥有一个default参数,用来给字段设置默认值。可以用default=timezone.now来替换auto_now=True或auto_now_add=True。timezone.now对应着django.utils.timezone.now(),因此需要写成类似下面的形式:

from django.db import models
import django.utils.timezone as timezone
class Doc(models.Model):
    add_date = models.DateTimeField('保存日期',default = timezone.now)
    mod_date = models.DateTimeField('最后修改日期', auto_now = True

 html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2016-06-03 13:00:00,但是页面显示的却是Apr. 03, 2016, 1 p.m.
为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td>{{ infor.updatetime|date:"Y-m-d H:i:s" }}</td> 类似的过滤器。刷新页面,即可正常显示。

Django模型层数据类型DateField()报错 基础配置 错误描述 程序使用的是3.6解释器,django版本为2.2.2,pycharm版本为2019.3.5,今天遇到的报错为: OverflowError: Python int too large to convert to C long 这是在在写好序列化类后,向django项目发送get请求报错 错误原因 python报错提示为python的int类型长度超过了C语言的允许范围,因为我用的python解释器是cpy,所以会有这个限制 通过搜索网络资源后,错误原因锁定在如下这行: 错误提示 阅读详情

相关推荐

Django基础教程(三十一)Django模型的数据字段之日期时间类字段:别让时间成乱麻!Django模型『时间管理大师』速成指南

在Django的世界里,处理日期和时间就像打理一团毛线,搞不好就乱成一团。DateField、DateTimeField和TimeField这三位“时间管家”各有神通,但用错了地方,分分钟让你体验数据错乱的绝望。本文将带你深度“盘”清它们的底细:从基础配置、自动预置到时区这个“终极Boss”。我们不仅掰开揉碎讲理论,更用一套完整的博客+任务管理系统示例,让你亲眼见证如何优雅地记录文章发布时间、处理任务截止日。学会这手,你就能成为项目里真正的“时间管理大师”!

jxf_jxfcsdn的博客 895

Django中使用DateTimeField

DateField相当于mysql中的date类型。 DateTimeField相当于mysql的datetime类型。 为什么说DateTimeField并非是timestamp类型,因为timestamp是首先存储为世界标准时间然后按客户端当前时区来取,而DateTimeField是存什么就是什么,没有一个转换的过程。 在数据表中,我们可以在设计的时候填入默认值,如当前时间,在ORM中,...

洛城的博客 1万+

6.4、Django -已有MySQL表ORM保存JSON格式字段以及时间等的超详细讲解

1、在MySQL中建表 在MySQL的wanping3库中,建立表testTB(特别注意,本例中主要是保存json数据): 查看表结构: 2、Django配置数据库连接参数 在 settings.py 中设置数据库的连接参数: # Database # https://docs.djangoproject.com/en/1.8/ref/settings/#databases DATABASE...

思过留痕 3514

Django中的DateTimeField格式

  转自:http://www.nanerbang.com/article/5488/ 创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使...

weixin_33726318的博客 4752

超大规模AI集群跨数据中心互联:Scale-Across技术实现与部署实践

分布式系统通过将计算任务分散到多个节点协同执行,实现算力的横向扩展。其核心原理在于网络通信、数据同步和资源调度机制的技术协同。在AI基础设施领域,分布式架构能有效突破单数据中心算力瓶颈,支撑万亿参数大模型训练。特别是面对长距离传输时延和带宽稳定性挑战,需要采用RDMA、确定性网络等关键技术。Scale-Across作为分布式系统的高级形态,通过跨地域多数据中心互联,构建逻辑统一的AI算力池,为超大规模AI训练和全球推理服务提供核心支撑。本文聚焦AI集群跨数据中心互联的技术路径,涵盖全栈优化、网络自治等实践方

chouxuyi9789的博客 400

把MinerU集成到Dify

本文介绍了如何将本地部署的MinerU与Dify平台进行集成。首先需要确保Dify和MinerU在Docker环境中正常运行,并通过配置虚拟网络实现互联。然后详细说明了在Dify平台安装MinerU插件的步骤,包括从插件市场搜索安装、配置连接参数等关键操作。特别强调了要等待MinerU容器完全启动(healthy状态)后再进行Dify配置,否则会出现连接错误。通过简单的URL指向和API密钥设置,用户即可实现Dify平台与本地MinerU算力网络的对接,为后续的AI应用开发提供基础支持。

lyxerlau的博客 313

Django中DateTimeField的使用

Django中DateTimeField的使用及注意点 2,修改数据时自动更新时间 注:以上保存的时间带毫秒 3,使用replace(microsecond=0)去除毫秒

分享一点有用的知识 2558

深度学习初探 - 入门 DL 主流框架

这个课程主要是引导大家入门TensorFlow、Theano、Keras 及 Caffe 几个主流的深度学习框架。在课程中有关各种算法的详细推导及思想我们不会做过多的陈诉,旨在通过让同学们动手操作搭建自己的神经网络模型,了解如何使用这些框架解决实际问题。课程会基于每个框架的官方文档,先带大家熟悉框架中基本的定义语法及常用函数(可看成深度模型的小零件),每个实验最后都会综合这些零件搭建一个简易的神经深度网络模型。这个项目十分适合具有一定python编程基础,对人工智能、深度学习感兴趣的同学。Theano。

2401_86435672的博客 1235

Django的时间字段DateTimeField

Django的时间字段DateTimeField

weixin_39926295的博客 790

AD20 Channel-Offset Error 解决办法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法一、问题现象二、解决办法 前言 AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法 一、问题现象 我们经常在使用Room格式快速布局相同模块电路时出现以下问题, 二、解决办法 相同模块电路PCB布局复制的过程网上有很多,这里不再做赘述,步骤都差不多,只说问题根源; 1:.

m0_47201213的博客 7628

addr2line解析不出来行号的解决方式(汇编解析高阶版)

摘要:本文针对AEC crash问题中addr2line无法解析行号的情况,通过llvm-addr2line和反汇编分析,定位到CamX::AECBEStats17::AdjustROIParams函数中的乘法溢出问题。关键发现包括: 常规addr2line只能解析到函数名但无具体行号 llvm-addr2line解析出多个可能溢出点(行196/204/211/218/270/271) 反汇编显示6个条件分支跳转到溢出处理函数 源码分析确认这些位置均存在乘法运算 最终通过汇编级调试工具成功定位UBsan报告

168

关于django的orm查询中时间字段查询

lt:小于 queryset=yourobject.objects .filter(时间字段名称__lt=start) 2、lte:小于等于 queryset=yourobject.objects .filter(时间字段名称__lte=start) 3、gt:大于某个时间 now = datetime.datetime.now() #前一天 start = now – datetime.timedelta(hours=23, minutes=59, seconds=59) start = now+

qq_45632139的博客 2484

华为OD机考2025C卷 - 精准核酸检测(Java & Python& JS & C++ & C语言)

华为OD机考2025C卷 - 精准核酸检测,提供在线OJ Java & Python& JS & C++ & C

算法大师! 2882

**Django 时间区字段插件实战指南**

Django 时间区字段插件实战指南 1. 项目介绍 Django-timezone-field 是一个专为 Django 应用设计的扩展库,它提供了数据库表单和REST框架字段,以支持处理 zoneinfo 和 pytz 中的时区对象。自Python 3.9起,推荐使用 zoneinfo 替代已逐渐被弃用的 pytz,该项目完美适配了这些变化,确保在处理时间区相关的数据时更加现代且高效。通过这个...

gitblog_01141的博客 1048

[AI] 本地部署 Dify 遇到 Internal Error?一文彻底解决密码不一致引发的问题

摘要:Dify本地部署常见InternalError错误主要由配置残留或密码不一致导致,特别是修改.env文件后未同步清除数据库记录。彻底解决方案包括:1)清理Docker数据;2)删除旧配置和数据库;3)还原源代码;4)重建.env文件;5)重新初始化部署。关键提醒:记录部署路径、备份.env文件并妥善保存密码。该错误本质是配置冲突,最有效方法是完全重置而非调试,保持清晰的部署管理可避免多数InternalError问题。(149字)

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 435

Darknet-Yolov3 移植过程

本教程面向使用寒武纪平台进行深度学习推理任务的开发者。针对当前主流检测网络darknet-yolov3,进行寒武纪平台的移植。开发者对照移植过程,能够利用寒武纪智能处理器设备完成多种场景的目标检测任务。本实验代码基于 Neuware 1.6.1 与 Python 2.7 环境。

shengyin714959的博客 438

django:DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用

创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使用中很容易出错,下面是一些注意点。 DateTimeField.auto_now 这个参...

王冠hurt的博客 7049

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Python】Django 时间字段 最佳实践

1. python datetime from datetime import datetime datetime.now() datetime.utcnow() from datetime import datetime,timezone,timedelta dt = datetime.utcnow() print(dt) dt = dt.replace(tzinfo=timezone....

weixin_33859504的博客 167

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Django序列化后返回数据 时间字段带T

Django序列化后返回数据 时间字段带T 2021-01-21T18:12:13 解决方案 class UserSerializer(serializers.ModelSerializer): insert_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S') class Meta: model = User fields = '__all__' OK. ...

LP的博客 1642

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

django orm 时间字段讲解

创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使用中很容易出错,下面是一些注意点。 DateTimeField.auto_now 这个参...

weixin_30542079的博客 590

django 后台日期_Django - 日期、时间字段

创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使用中很容易出错,下面是一些注意点。DateTimeField.auto_nowauto_no...

weixin_39901571的博客 699

django orm 时间字段讲解

创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add,表面上看起来很easy,但实际使用中很容易出错,下面是一些注意点。 DateTimeField.auto_now 这个参...

mr~li的博客 1109

django 处理时间字段

json.dumps(log_list,default=utils.json_datetime_handler) import time,hashlib,json import models from django.shortcuts import render,HttpResponse from MadKing import settings from django....

diaonihe9107的博客 350

django drf 统一处理操作人和时间字段

如果你的表结构有这些字段:创建人/创建时间/更新人/更新时间/删除人/删除时间,我们可以统一处理这些字段的更新和插入,而不需要额外显示操作。

程序的战歌 731
上一篇: Django-登录注册
下一篇: django-forloop案例
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值