我想打印从数据库返回的对象组的值。
我尝试过如下,
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循环。
有没有办法通过一行代码来实现?
答案 0 :(得分:1)
您可以尝试使用values()
。假设你的模型是Products
你可以做
Product.objects.filter(your_filter_criteria).values()
这将为您提供每个项目的dict列表。
答案 1 :(得分:1)
如果你所寻找的只是一行,那就是:
Products = productBll.listProduct(params)
print [prd.__dict__ for prd in Products]