RuntimeWarning: DateTimeField получил наивное время даты для auto_now - PullRequest
0 голосов
/ 01 мая 2018

Мы используем 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...