fix
This commit is contained in:
@@ -25,9 +25,10 @@ class PartyAdmin(admin.ModelAdmin):
|
||||
search_fields = [
|
||||
"number", "orders__counterparty__name"
|
||||
]
|
||||
autocomplete_fields = ['orders']
|
||||
|
||||
def get_queryset(self, request):
|
||||
return super().get_queryset(request).select_related('party_amount')
|
||||
return super().get_queryset(request).select_related('party_amount', 'mediator').prefetch_related('orders')
|
||||
|
||||
|
||||
@admin.register(PartyAmount)
|
||||
|
||||
@@ -78,6 +78,7 @@ class Party(BaseModel):
|
||||
percentage += order.completion_percentage
|
||||
if percentage > 0 and count > 0:
|
||||
self.process = percentage / count
|
||||
self.party_amount.save()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
||||
@@ -98,6 +99,8 @@ class PartyAmount(BaseModel):
|
||||
overdue_amount = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.total_price = self.party.orders.aggregate(total_price=models.Sum('total_price'))['total_price'] or 0
|
||||
self.calculated_amount = self.total_price
|
||||
if self.calculated_amount < self.paid_amount:
|
||||
self.overdue_amount = self.paid_amount - self.calculated_amount
|
||||
self.payment_amount = 0
|
||||
|
||||
Reference in New Issue
Block a user