Django获取模型的所有相关值

时间:2012-06-21 15:57:10

标签: django django-models django-queryset

这些是我的模特

class Order(models.Model):
    name = ...

class OrderDetail(models.Model)
    order = models.OneToOneField(Order,null=False)
    comment = ...

class LastUpdate(models.Model)
    order = models.OneToOneField(Order,null=False)
    date = ...

当我编写Order.objects.all()。values()时,它给出了一个仅包含name的列表 但我需要获得name,orderdetail__comment,lastupdate__date值。

我可以通过写

来获得它们
Order.objects.values('name','orderdetail__comment','lastupdate__date').all()

但是订单中有很多相关的模型,我不想写所有这些模型。

如何获取相关字段的所有值?

1 个答案:

答案 0 :(得分:3)

首先,按

进行查询
orders = Order.objects.select_related('orderdetail__comment', 'lastupdate__date')

然后,通过

获取值
orders.values('name', 'orderdetail__comment', 'lastupdate__date')