я есть модели, как это:Переходы Django. Комплексное обновление
class Model(models.Model):
number = models.CharField()
category = models.ForeignKey(Category)
created_at = models.DateTime()
Предположим, что мы имеем следующие категории: [A, B1, B2, B3, B4, B5, C]
. Мне нужно обновить записи, где category==B2
(~ 2,3 миллиона записей) с любой категорией B2
, B3
, B4
или B5
.
Правило, если для числа n
это первый (по заказу created_at
поля) подряд запись с category==B2
затем оставить категорию как есть, если это второй раз подряд запись с category==B2
- категория обновления B3
, если третье, а затем обновить категорию до B4
и т. д. Если предыдущая запись имеет категорию B2
, но текущий имеет категорию A
, тогда сбросьте счёт этого счетчика.
Это кажется сложным прийти, чтобы заслужить это собственный сценарий, я не думаю, что вы должны использовать миграции на всех – yorodm
@yorodm почему бы не использовать миграцию, какие минусы ? – Greesha0
Я не говорю «не используйте миграции», я говорю (IMHO), вы должны рассмотреть возможность написания отдельного сценария для выполнения задачи с учетом ее сложности. – yorodm