Django获取模型的所有关联值

3
这是我的模型。
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个回答

5

首先,您需要通过

orders = Order.objects.select_related('orderdetail__comment', 'lastupdate__date')

然后,通过以下方式获取值
orders.values('name', 'orderdetail__comment', 'lastupdate__date')

如果在模型中定义related_name =,它就可以工作。 - Tyomik_mnemonic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接