Змея / Говнокод #25508 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
Change(models.model):

    def save(self, *args, **kwargs):
        is_need_to_add = False

        if not self.pk and self.package.type not in [Billing.TYPE_H, Billing.TYPE_F]:
            is_need_to_add = True

        super(Change, self).save(*args, **kwargs)

        if is_need_to_add:
            package = self.package
            package.done += self.delta
            if self.package.status == Billing.STATUS_IN_WORK and package.count_done >= package.count_wants:
                package.status = Billing.STATUS_DONE
                package.save()

                title, id = self.package.company.title, self.package.company.id
                leads, price = self.package.count_wants, self.package.price
                mail.send("trololo")

            package.save()
            package.check_billing()

Django ORM, внутри метода save() сразу и сохранение сущности в базу, и апдейт родительской сущности и mail нотификация менеджерам.

Запостил: facepalm facepalm, (Updated )

Комментарии (14) RSS

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8