感谢这篇文章,我能够在Django视图中轻松地进行计数和分组查询:
Django equivalent for count and group by
我的应用程序正在显示一个国家数据库中可用的硬币类型和面值列表,因此来自英国的硬币可能具有“1 farthing”或“6 pence”的面值。 face_value是6,“currency_type”是“pence”,存储在相关表中。
我在我的视图中有以下代码,让我完成了90%的工作:
我在我的视图中有以下代码,让我完成了90%的工作:
def coins_by_country(request, country_name):
country = Country.objects.get(name=country_name)
coin_values = Collectible.objects.filter(country=country.id, type=1).extra(select={'count': 'count(1)'},
order_by=['-count']).values('count', 'face_value', 'currency_type')
coin_values.query.group_by = ['currency_type_id', 'face_value']
return render_to_response('icollectit/coins_by_country.html', {'coin_values': coin_values, 'country': country } )
currency_type_id
是存储在外键字段中的数字(例如4)。我想要做的是在查询中检索它所引用的实际对象(即 Currency 模型),以便在模板中获取 Currency.name 字段。
最好的方法是什么?