从特殊ord中的queryset list(pk_yuin)构建一个值列表

2024-05-15 00:18:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带评分的模型,筛选查询的结果必须以特殊顺序显示(比较学员的评分),但我找不到正确的方法。(好吧,我是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)

查询:

^{pr2}$

我想比较多条形图中的整数值

auffassung_来自_pk(1,2,3)interest_from_pk(1,2,3)。。n

但是每次尝试都会以一个包含大量无序值的列表结束 (Auffassung_来自_pk(1),interest_来自_pk(1),Auffassung_来自_pk(2)

我找不到一种用python方法来解决这个问题的方法。 所以我需要一点帮助,你能帮忙吗?在


Tags: 方法模型true顺序models评分nullblank
2条回答

把它分开,然后点好。所以每个字段(例如auffassung必须是一个列表,其中包含来自queryset的每个结果)

如果我有3个结果查询集(pk_list=(1,2,3)),我需要类似((1,2,1),(2,3,3)…)((auffassung),(interese))

@Rajez没有多重过滤器

我把所有的方法都设为零开始新的。我只有这个(在Django shell中)

for q in qs:
    print(q.auffassung)
    print(q.interesse)

我现在真的很挣扎

试试看:

import itertools

qs = Bewertung.objects.filter(pk__in=pk_list)
values = qs.values_list('auffassung', 'interesse')

result = list(itertools.chain(*values))

相关问题 更多 >

    热门问题