【问题标题】:Django get all related values of the modelDjango 获取模型的所有相关值
【发布时间】:2012-06-21 15:57:09
【问题描述】:

这些是我的模型

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()

但是订单相关的模型很多,我不想全部写出来。

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

【问题讨论】:

    标签: django django-models django-queryset


    【解决方案1】:

    首先,你通过

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

    然后,通过

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

    【讨论】:

    • 如果你在模型中定义了related_name = 就可以了。
    猜你喜欢
    • 2011-01-15
    • 2013-12-22
    • 2014-09-28
    • 1970-01-01
    • 2023-03-24
    • 2012-05-07
    • 2018-05-25
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多