Я уже несколько дней думаю, что это лучший способ сделать это.Должен ли я использовать django-сельдерей для рекурсивного обновления моей БД?
Я продаю товар, который я производю , но товар, который я продаю, может быть составлен из других предметов , и эти другие предметы могут быть составлены из других предметов и так далее.
После создания заказа на продажу я хочу вызвать процесс, создающий внутренние заказы на продажу всех элементов, необходимых для сборки этого элемента, поэтому это должна быть какая-то рекурсия.
Конечные элементы, которые не могут быть получены у is_production флаг = False, так что я знаю, что я не должен идти глубже
Для этого я думал создать метод в view.py, который будет инициироваться подтверждением моего Заказ клиента. Но я боюсь, что, поскольку я не могу предсказать сложность выпускаемого продукта, это займет много времени и будет дорогостоящим для производительности. Также существует риск бесконечных циклов. так может быть и в представлении, это не отличная идея, и я думаю об альтернативе и исследованиях. Я сделал это, чтобы это было реализовано с чем-то вроде django-celery.
Вопрос, так как я никогда раньше не использовал django celery чтобы подтвердить мое понимание: Является ли django-сельдерей лучшим и единственным вариантом для решения моего требования?
Вы можете использовать Django RQ, который основан на Redis и намного проще настроить http://stackoverflow.com/questions/38106696/django-rq-how-to-call-function/38106908#38106908 http: // python -rq.org/patterns/django/ – dmitryro
Но Redis - это DB и асинхронная очередь задач/заданий? –
Redis легкий, и он также может и должен использоваться как кеш-механизм для Django. Как только вы начнете использовать его, вы найдете его чрезвычайно полезным. Он закодирован на C, так что это неудобно. – dmitryro