Python字典,提取值

时间:2017-12-07 11:50:25

标签: python django django-models

我无法查询我的数据库,也许有人可以帮我一把。 我正在使用django应用程序,所以我猜Sqlite3>>我想得到的输出是得分值

b = Answer.objects.get(id = 23)

给我输出:

<Answer: Answer to questionID '4' : AnswerID '23'>

当我这样做时:

b.values

我在表格中得到一个字典:

 ['{
    "1)Long descriptive text":Score,
    "2)Long descriptive text":Score,
    "3)Long descriptive text":Score,
    "4)Long descriptive text":Score
    }']

得分为0到100之间的整数,例如“长描述性文本”:85

我需要使用查询提取分数,但我无法做到 Normaly for a Dict [key:value]我会做一个Dict [key]但是在这里我不知道怎么做

你可以帮个忙吗? 非常感谢你

1 个答案:

答案 0 :(得分:2)

这看起来很像Django如果是这样:

所以b = Answer.objects.get(id = 23)并非如此 - 您所看到的是当您将其打印出来时,答案的 str 功能。因为您使用了.get而不是.filter而得到了对象,而不是QuerySet(您可以将其视为列表)。

基本上,我怀疑你不应该使用值,而是访问数据......就像

b = Answer.objects.get(id=..)
b.score

或者如果你想循环其他答案:

answers = Answer.objects.filter(...)
for a in answers:
    a.score

对于.score是什么,请查看models.py文件 - 查看参数是什么(看起来像score = models.IntegerField()等等,然后你会使用a.score)