У меня есть модель товара и еще одна модель повреждена. В поврежденной модели я добавляю количество поврежденного количества определенного товара. Теперь мне нужно, чтобы это поврежденное_количество было уменьшено из поля запаса в модели Продукта, когда внешний ключ совпадает. Код работает, когда я добавил в модель Damaged поврежденный_квантовый уровень, но при отсутствии определенного продукта в поврежденном виде он выдает ошибку типа, поэтому я попытался сделать это в шаблоне, но он не работает.
models.py
class Product(models.Model):
name = models.CharField(max_length=250)
quantity = models.IntegerField()
@property
def current_quantity(self):
return self.quantity - self.damaged_set.all().aggregate(sum=Sum('damaged_quantity')).get('sum', 0)
class Damaged(models.Model):
product = models.ForeignKey('Product', on_delete=models.CASCADE)
damaged_quantity = models.IntegerField(default=0)
шаблон
<td>
{% for damage in damaged %}
{% if damage.product_id == product.id %}
{{product.current_quantity}}
{% else %}
{{ product.quantity }} # else part not working properly.
{% endif %}
{% endfor %}
</td>