from django.db.models.signals import post_save
from signals import do_something
class TransactionAdmin(models.Model):
...
post_save.connect(do_something, sender=TransactionAdmin)
def do_something(sender, instance, created, *args, **kwargs):
if created and sender == TransactionAdmin:
...
...
def save_related(self,request,form,formsets,change):
form.save_m2m()
debtors = form.instance.debtors.all()
n_debtors = debtors.count()
creditor = form.instance.creditor
value = form.instance.value
if form.instance.split:
value = value/(n_debtors + 1)
for debtor in debtors:
p = Person.objects.get(id = debtor.id)
p.balance = p.balance - value
p.save()
p = Person.objects.get(id = creditor.id)
p.balance = p.balance + n_debtors*value
p.save()