У меня есть следующая модель:
class Plan(TimeStampedModel):
name = models.CharField(_("Plan name"), max_length=50, null=False, blank=False, unique=True)
Даты TimeStampedModel
, от которых она наследуется, были созданы и изменены:
class TimeStampedModel(models.Model):
"""Reusable template to add created/last updated timestamps to a model"""
created_at = models.DateTimeField(_("Created"), auto_now_add=True)
changed_at = models.DateTimeField(_("Last changed"), auto_now=True)
class Meta:
abstract = True
Теперь я запускаю loaddata
из файлов yamlвыглядит примерно так:
- model: plans.Plan
pk: 1
fields:
name: Basic plan
Это дает мне ошибку, потому что загрузка жалуется, что я не определил данные метки времени.
То, что я хотел бы сделать вместо того, чтобы просто установить временную метку по умолчанию (что я могу, если это необходимо), это просто передать текущую временную метку для даты / времени, которое я использую loaddata
, чтозатем применитесь ко всем файлам yaml.
Выполнение python manage.py testserver demo_data/fixtures/plans.yaml
обходит ограничения БД, и параметры auto_now
, насколько я вижу, поэтому способ, которым эти поля обычно устанавливаются, не применяется.
Есть лиспособ сделать это? В своих поисках я не могу найти ничего, даже похожего вопроса.