我们说我有一个这样的数据库表:
NumCOL NameCol AgeCOL ColourCOL
----------------------------------------
1 Joel 18 Blue
2 Joey 22 Red
3 Jacob 25 Green
4 Jack 27 Blue
5 Joey 21 Red
在此示例中,NumCOL
是唯一的,而{1}}的icrements不是唯一的。我需要以我可以根据NameCOL, AgeCOL & ColourCOL
获取所有条目的方式过滤它们,然后获取ColourCOL
中与颜色相关的条目。我在下面使用此代码(用户选择蓝色):
NameCOL & AgeCOL
现在有两个颜色为蓝色的名称,所以我想使用一个列表并将所有数据附加到一个列表中,并在需要时从列表中调用,如下所示:
colour = request.POST.get('FormColour') #colour = blue
name = Database.objects.filter(ColourCOL=colour).values_list('NameCOL', flat=True)
我担心的是,如果我需要写入PDF或将其显示在表格中,我将无法有效地从列表中检索数据(如果有的话)。另一种解决方案是按ex_list = []
tracker = 0
for x in name:
age = Database.objects.filter(ColourCOL=colour, NameCOL=name).values_list('AgeCOL', flat=True)
ex_list.append([name[tracker], name, age])
tracker += 1
排序,但用户只能访问NumCOL
中的数据。那么,对于我可以显示所选颜色的所有信息进行排序的最佳方法是什么,然后是每个人都使用该颜色的名称和年龄?
感谢您的帮助。
答案 0 :(得分:1)
colour = request.POST.get('FormColour') #colour = blue
data_dict = Database.objects.filter(ColourCOL=colour).values('NameCOL', 'AgeCOL', 'NumCOL')
for data in data_dict:
print(data['NameCOL'], data['AgeCOL'], data['NumCOL'])
您可以使用值从检索到的数据中创建一个dict,迭代它并从dict访问列名。