在我的django項目中,我有一個模型,它存儲用戶的位置,user_id
是django User
模型的外鍵。這裏是模型使用外鍵訪問另一個模型中的對象
class Points(models.Model):
user_id = models.ForeignKey(User)
lat = models.FloatField()
lon = models.FloatField()
現在我要執行這樣的查詢:
Points.objects.filter(user_id=id).values_list('user_id','lat','lon')
但我也希望從Django的在此列表中User
模型username
領域。無論如何,我可以做到這一點,而無需執行另一個查詢,如User.objects.get(id=id).value_list('username')
,然後加入這兩個列表。我通過了select_related和prefetch_related,但我不確定我是否可以在這裏使用它們。
使用[select_related](https://docs.djangoproject.com/en/dev/ref/models/querysets/#id4)。看看這2個問題,可能的重複:http://stackoverflow.com/questions/2425603/how-do-i-select-from-multiple-tables-in-one-query-with-django,http:// stackoverflow .com/questions/13092268/how-do-you-join-two-tables-on-a-foreign-key-field-using-django-orm –