-1

我想打印从数据库返回的对象组的值。

我试过如下,

Products = productBll.listProduct(params)
print Products.__dict__

它会显示如下,

{'_result_cache': [Product: Product object, Product: Product object]}

但是当我这样做时,

for prd in Products:
    print prd.__dict__

它显示了 Products 对象中的所有内容

{'product_price': 0.0, 'right_side_min_depth': 0.0, 'short_description': u'', 'left_side_min_depth': 0.0, 'max_depth': 0.0, 'height_scale': 2.0, 'left_side_max_depth': 0.0, 'is_hinges': u'No', 'max_height': 1.04}
{'product_price': 0.0, 'right_side_min_depth': 0.0, 'short_description': u'', 'left_side_min_depth': 0.0, 'max_depth': 1000.0, 'height_scale': 1000.0, 'left_side_max_depth': 0.0, 'is_hinges': u'No', 'max_height': 1000.0}

但我想要上面的结果而不使用 for 循环。

有没有办法通过一行代码来做到这一点?

4

2 回答 2

1

您可以尝试使用values(). 假设你的模型是Products你可以做的

Product.objects.filter(your_filter_criteria).values()

这将为您提供每个选定项目的 dict 列表。

于 2013-08-29T12:02:50.033 回答
1

如果您要寻找的只是单线,这里是:

Products = productBll.listProduct(params)
print [prd.__dict__ for prd in Products]
于 2013-08-29T14:14:48.273 回答