首页 > 解决方案 > 如何获取 Django 相关模型行并作为字典列表返回?

问题描述

AM 使用 Django v1.11

我有以下型号:

class LineItem():
    quote = models.ForeignKey(Quote, related_name="quote_line_items")
    sku = models.ForeignKey(SKU)

class Quote():

     def fetch_as_list_of_dict(self):
         return LineItem.objects.filter(quote=self).select_related('sku__product').values()

class SKU():
     product = models.ForeignKey(Product)

我的fetch_as_list_of_dict未能包含 sku.product_id 或 sku.product 对象。我只需要将 sku.product_id 作为字典的一部分,它本身就是列表中的许多字典之一。

我如何实现这一目标?

标签: pythondjango

解决方案


您可以通过以下方式简单地做到这一点:

def fetch_as_list_of_dict(self):
     return self.listitem_set.select_related('sku__product').values('sku__product')  # or any fields like sku__product__name, sku__product__id anything

有关获取相关对象的更多详细信息,请查看相关对象文档。


推荐阅读