Мне нужна помощь с отправкой электронной почты при размещении заказа. Чтобы проиллюстрировать проблему, ниже приведен абстрактный код:
class Order(models.Model):
user = models.ForeignKey(User)
class OrderItem(modes.Model):
order = models.ForeignKey(Order, related_name='items')
item = models.CharField(max_length=255)
unit_price = models.DecimalField()
qty = models.IntegerField()
item_amount = models.DecimalField()
def email_order_on_save(sender, instance, **kwargs):
# Need order.items.all() here
pass
post_save.connect(email_order_on_save, sender=Order)
Большинство проблем в SO и Google, похоже, имеют дело с одним дочерним объектом одновременно; как этот .
Прослушивание OrderItem выдаст 5 сигналов, если 5 элементов заказов будут сохранены из админских сообщений. Кажется, я не могу решить эту проблему. Один из способов, я думаю (не уверен, если это возможно), это прослушивание последнего из всех (5) сигналов OrderItem post_save.
Любая помощь приветствуется.