Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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)
- 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()
- def save_formset(self, request, form, formset, change):
- #instances = formset.save(commit=False)
- #bargain_id = 0
- total_price = Decimal(0)
- print("Formset: ", formset)
- instances = formset.save(commit=False)
- print("Instances: ", instances)
- bargain_id = 0
- for instance in iter(instances):
- if isinstance(instance, BargainProduct):
- total_price += instance.quantity * instance.product.price
- bargain_id = instance.id
- instance.save()
- updateTotal = Bargain.objects.get(id=bargain_id)
- updateTotal.total_price = total_price - updateTotal.discount_price
- updateTotal.save()
Add Comment
Please, Sign In to add comment