I have two models from different apps:
class Measure(models.Model):
date = models.DateTimeField(default="2018-01-23 15:55")
average = models.FloatField(default=0)
class Sensor(models.Model):
measure=models.ForeignKey(Measure, on_delete=models.CASCADE)
value= models.FloatField(default=0)
I'm calling all data coming from sensors as follow:
new_context = Sensor.objects.select_related('measure__date')
However, I receive this error:
django.core.exceptions.FieldError: Non-relational field given in select_related: 'date'. Choices are: (none)
from documentation, I should be using select_related instead of prefetch_related, and the call seems to be coherent.
Am I missing something?
In select_related
only fields that are ForeignKey
should be set. In your case the issue it that date
field is a DateTimeField
and not ForeignKey
.
So in order to solve it just do it:
new_context = Sensor.objects.select_related('measure')
You can see examples of using syntax in docs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With