Ignore the "'distance': distance" in the return - that should not be there.
On Wednesday, 21 July 2021 at 15:55:08 UTC+2 Derek wrote: > See: > https://stackoverflow.com/questions/54412377/adding-values-to-django-queryset > > > VIEW > > def position_view(request): > > packet_data = > TncData.objects.exclude(lat=0).order_by('-dt_heard')[:100] > for packet in packet_data: > *# my complex math calculation* > * packet.distance = "# complex math formula using packet.lat and > packet.lon"* > > return render( > request, > 'main/position.html', > {'packet_data': packet_data, 'distance': distance}) > > TEMPLATE > > *# suggest you use a better term than "field" => maybe "record"?* > {% for field in packet_data %} > <tr class='atable'> > <td class='atable'>{{field.callsign}}</td> > <td class='atable'>{{field.lat|floatformat:2}} N > {{field.lon|floatformat:2}} W </td> > <td class='atable'></td> > *<td class='atable'>{{field.distance}}</td>* > > > HTH! > > On Tuesday, 20 July 2021 at 22:25:04 UTC+2 [email protected] wrote: > >> Hello, >> >> I am trying to perform a complex math calculation from a django query >> set. How can I pass the results to the template for display? Annotations >> won't work since the math is not a simple sum, diff or average. >> >> MODEL >> >> class TncData(models.Model): >> callsign = models.TextField(max_length=20) >> lat = models.FloatField(null=True, blank=True, default=None) >> lon = models.FloatField(null=True, blank=True, default=None) >> path = models.TextField(max_length=250) >> message = models.TextField(max_length=250) >> dt_heard = models.DateTimeField(auto_now_add=False) >> >> def __str__(self): >> return str(self.callsign) >> >> VIEW >> >> def position_view(request): >> >> packet_data = >> TncData.objects.exclude(lat=0).order_by('-dt_heard')[:100] >> >> *# my complex math calculation* >> * # need to do something like append distance to packet_data like >> packet_data.distance* >> >> * distance = "# complex math formula using packet_data.lat and >> packet_data.lon"* >> >> return render(request, 'main/position.html', >> {'packet_data':packet_data,}) >> >> TEMPLATE >> >> {% for field in packet_data %} >> >> <tr class='atable'> >> <td class='atable'>{{field.callsign}}</td> >> <td class='atable'>{{field.lat|floatformat:2}} N >> {{field.lon|floatformat:2}} W </td> >> <td class='atable'></td> >> *<td class='atable'>{{packet_data.distance}}</td>* >> <td class='atable'>{{field.dt_heard|date:"D m/d H:i"}}</td> >> </tr> >> >> {% endfor %} >> >> >> -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/4b95c65b-c341-46cd-8125-1b13409c7bb9n%40googlegroups.com.

