use*_*391 9 python django timezone datetime
我们正在使用 Django 1.10
我们收到了很多这样的警告:
RuntimeWarning: DateTimeField Item.updated_at received a naive datetime (2018-05-01 12:35:18.213471) while time zone support is active.
RuntimeWarning)
Run Code Online (Sandbox Code Playgroud)
我阅读了很多关于这些问题的答案,但在这种情况下,我们不会手动设置日期。该字段 (Item.updated_at) 设置为
auto_now=True
Run Code Online (Sandbox Code Playgroud)
有没有办法让“auto_now”不幼稚?
这是模型的一部分:
class BaseModel(models.Model):
id = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True, unique=True, primary_key=True)
created_by = models.CharField(max_length=200)
created_at = models.DateTimeField(db_index=True, auto_now_add=True)
updated_by = models.CharField(max_length=200)
updated_at = models.DateTimeField(db_index=True, auto_now=True)
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:这可能与我们在测试中使用的工厂有关吗?例如:
class ItemFactory(factory.django.DjangoModelFactory):
class Meta:
model = Item
title = "Fake item title"
identifier = factory.Sequence(lambda n: n)
status_id = Status.Open['id']
due_date = None
updated_by = "Fake updater"
updated_at = timezone.now()
Run Code Online (Sandbox Code Playgroud)
来自Django Doc问题不在设置中。希望它能解决您的问题
from django.utils import timezone
import datetime
datetime.datetime.now(tz=timezone.utc)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |