首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >django时区如何使用model.field的auto_now_add

django时区如何使用model.field的auto_now_add
EN

Stack Overflow用户
提问于 2012-06-29 21:36:52
回答 4查看 32.2K关注 0票数 30

我想时区管理是被添加到Django 1.4中的,所以这个问题是相当新的。

我用了一个简单的模型

代码语言:javascript
复制
class Sample(models.Model):
    ...
    date_generated = models.DateTimeField(auto_now_add = True)

当我尝试检索一个新创建的记录时,它失败了。

代码语言:javascript
复制
min_datetime = datetime.now() - timedelta(seconds = 300)
sample = Sample.objects.get(date_generated__gte = min_datetime)

服务器发出警告。

代码语言:javascript
复制
DateTimeField received a naive DateTime (2012-06-29 15:02:15.074000) while time zone support is active.

我想出了两个解决方案来解决这个问题。

  1. 在settings.py中禁用时区管理

USE_TZ = False

但这并不总是可取的。2.改变

代码语言:javascript
复制
    date_generated = models.DateTimeField(auto_now_add = True) 

代码语言:javascript
复制
    date_generated = models.DateTimeField(default=datetime.now()) 

是保持时区管理正常工作的解决方案

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11262828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档