У меня есть такая настройка:
models.py
class BargainItem(models.Model):
product = models.ForeignKey(Item)
bargain = models.ForeignKey(Bargain)
quantity = models.IntegerField()
class Bargain(models.Model):
name = models.CharField(max_length=50, unique=True)
discount_price = models.DecimalField(decimal_places=2)
total_price = models.DecimalField(decimal_places=2, editable=False, default=Decimal(0))
class Item(models.Model):
name = models.CharField(max_length=50)
price = models.DecimalField(decimal_places=2)
admin.py
class BargainItemInline(admin.TabularInline):
model = BargainItem
extra = 1
class BargainAdmin(admin.ModelAdmin):
model = Bargain
# ...
inlines = (BargainItemInline,)
def save_formset(self, request, form, formset, change):
instances = formset.save(commit=False)
for instance in instances:
if isinstance(instance, Bargain):
# ...
instance.save()
каким-то образом обновить total_price до объекта Bargain
total_price = (instance.quantity * instance.product.price) - СКИДКА
Я пытаюсь обновить total_price для сделки после того, как bargainItems сохранены, но ДО записи в БД ... Я озадачен