J'ai un modèle "Drug" qui a une clé étrangère enfant "Accounting Entry" qui contient une quantité. Il y a plusieurs entrées de comptabilité par médicament et j'ai agrégé la somme des quantités de l'enfant à la drogue comme sumQuantities.Django extrait la valeur de la réponse dict
Le problème que j'ai maintenant que lorsque je suis rendu le modèle que je vois ce qui suit:
Quantité en main
{ 'Quantity__sum': 11} {
'Quantity__sum': 99}
{ « Quantity__sum »: 222}
J'essaie d'obtenir le « Quantity__sum »: 11 pour afficher la valeur de base (11) mais ne peut pas sembler obtenir de fonctionner correctement
Merci beaucoup pour toute aide
models.py
class Drug(models.Model):
Facility = models.ForeignKey(Facility, on_delete=models.CASCADE)
Name = models.TextField(max_length=120,default='default')
def _get_sum_quantity(self):
return self.quantities.aggregate(Sum('Quantity'))
sumQuantity = property(_get_sum_quantity)
def __str__(self):
drug_name = self.Name
return drug_name
class Meta:
verbose_name_plural = 'Drugs'
class AccountingEntry(models.Model):
Drug = models.ForeignKey(Drug, on_delete=models.CASCADE, related_name='quantities')
Quantity = models.IntegerField(default='0')
views.py
def update(request):
context = locals()
template = 'update.html'
return render(request, 'update.html', {'drug_list': Drug.objects.all()})
HTML Snippet
{% for drug in drug_list %}
<td>{{ drug.Name }}</td>
<td>{{ drug.sumQuantity }}</td>
{% if not forloop.last %}
</tr>
<tr>
{% endif %}
{% endfor %}
C'était exactement cela, merci, il a immédiatement résolu les valeurs sous-jacentes. Appréciez grandement votre temps pour répondre! –
si cette réponse est correcte, veuillez la marquer comme correcte – e4c5