Мы используем 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)
Я прочитал много ответов на эти вопросы, но в этом случае мы не устанавливаем дату вручную. Это поле (Item.updated_at) установлено как
auto_now=True
Есть ли способ сделать '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)
Спасибо
EDIT:
Может ли это быть связано с фабриками, которые мы используем в тестах?
Например:
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()