Итак, некоторое время после нескольких миграций после моего первого, я решил включить эти поля:
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
в одну из моих моделей. Когда я давал мне makemigrations
, You are trying to add a non-nullable field 'created' to episode without a default; we can't do that (the database needs something to populate existing rows).
You are trying to add a non-nullable field 'created' to episode without a default; we can't do that (the database needs something to populate existing rows).
Поэтому я изменил его на
created = models.DateTimeField(auto_now_add=True, default=datetime.now)
После повторной makemigrations
повторить, он сказал, что at_api.Episode.modified: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.
at_api.Episode.modified: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.
Хорошо, поэтому я просто пошел вперед и удалил auto_now_add
created = models.DateTimeField(default=datetime.now)
Теперь я мог makemigrations
без makemigrations
проблем. И затем я позже удалил default=datetime.now
и заменил его на auto_now_add=True
и снова перенастроил без каких-либо проблем. Однако я не могу не чувствовать, что это может быть не лучший способ сделать что-то. Я чувствую, что что-то может пойти не так позже в проекте.