我有一个带有评分的模型,过滤查询的结果必须按照特殊的顺序排列(比较受训者的评分),但我找不到正确的方法。 (好吧,我是Django和python的新手;)
class Bewertung(models.Model):
auffassung = models.PositiveSmallIntegerField()
interesse = models.PositiveSmallIntegerField()
arbeitsabw = models.PositiveSmallIntegerField()
aufmerksamkeit = models.PositiveSmallIntegerField()
arbeitsgenauigkeit = models.PositiveSmallIntegerField()
verhalten = models.PositiveSmallIntegerField()
ausb_sach = models.PositiveSmallIntegerField(null=True, blank=True)
ausb_fuehr = models.PositiveSmallIntegerField(null=True, blank=True)
查询:
qs = Bewertung.objects.filter(pk__in=pk_list)
我想比较多条形图中的整数值,例如
auffassung_from_pk(1,2,3)interesse_from_pk(1,2,3).. n
但是每次尝试都会在包含大量无序值的列表中结束 (Auffassung_from_pk(1),interesse_from_pk(1),Auffassung_from_pk(2)..)
我找不到以python方式解决它的方法。 所以我需要一点帮助,你能帮忙吗?
答案 0 :(得分:0)
@Sachin Kukreja正确,将其分开并订购。所以每个字段(例如,auffassung必须是一个列表,其中包含查询集的每个结果。)
如果我有3个结果查询集(pk_list =(1,2,3))我需要类似((1,2,1),(2,3,3)......)((auffassung), (interesse))
@Rajez没有多个过滤器
我将我的所有方法设置为零以开始新的。我只有这个(在Django shell中)
for q in qs:
print(q.auffassung)
print(q.interesse)
我现在真的很挣扎
答案 1 :(得分:0)
试一试:
import itertools
qs = Bewertung.objects.filter(pk__in=pk_list)
values = qs.values_list('auffassung', 'interesse')
result = list(itertools.chain(*values))