Alv*_*aro 7 python django django-models django-queryset django-select-related
我有来自不同应用程序的两个模型:
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)
Run Code Online (Sandbox Code Playgroud)
我正在调用来自传感器的所有数据,如下所示:
new_context = Sensor.objects.select_related('measure__date')
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
django.core.exceptions.FieldError: select_related 中给出的非关系字段:'date'。选项是:(无)
从文档中,我应该使用 select_related 而不是 prefetch_related,并且调用似乎是连贯的。
我错过了什么吗?
仅在应设置的select_related
字段中。ForeignKey
在你的情况下,问题是该date
字段是 aDateTimeField
而不是ForeignKey
。
因此,为了解决这个问题,只需这样做:
new_context = Sensor.objects.select_related('measure')
Run Code Online (Sandbox Code Playgroud)
您可以在docs中查看使用语法的示例。
归档时间: |
|
查看次数: |
3006 次 |
最近记录: |