#python #django #orm #celery
#питон #джанго #орм #сельдерей
Вопрос:
В задании сельдерей я получил свой объект (Заказ). Объект содержит множество полей. Когда я называю это, я получаю None
. Однако, когда я вызываю тот же код в оболочке django, я получаю обратно правильный список объектов. Что не так с задачей сельдерей и что я могу сделать, чтобы ее решить?
@app.task() def send_admin_email_task(): yesterday = datetime.now() - timedelta(days=1) orders = Order.objects.filter(timestamp__gte=yesterday, status=Order.StatusChoice.NEW) print(orders.first().orderItems) class OrderItem(models.Model): product = models.ForeignKey('products.Product', null=True, on_delete=models.SET_NULL) count = models.PositiveIntegerField() price = models.FloatField(default=-1) сlass Order(models.Model): orderItems = models.ManyToManyField(OrderItem) price = models.DecimalField(decimal_places=2, max_digits=10, default=0) full_name = models.CharField(max_length=200, blank=True) email = models.EmailField(blank=True) phone = models.CharField(max_length=12, blank=True)
Комментарии:
1. а) Элементы заказа, поскольку многие из них не имеют для меня большого смысла, я бы предпочел, чтобы в элементе заказа был внешний ключ для заказа б) Если один и тот же код (точно такой же) ведет себя по-разному, должна возникнуть проблема с конфигурацией, вы уверены, что представление и задача указывают на одну и ту же базу данных ?