Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python dict,提取值_Python_Django_Django Models - Fatal编程技术网

Python dict,提取值

Python dict,提取值,python,django,django-models,Python,Django,Django Models,我很难查询我的数据库,也许有人能帮我一下。 我使用的是django应用程序,所以我想Sqlite3>>我想要得到的输出是分数值 b = Answer.objects.get(id = 23) 这给了我一个输出: <Answer: Answer to questionID '4' : AnswerID '23'> 我得到的口述如下: ['{ "1)Long descriptive text":Score, "2)Long descriptive text":Sco

我很难查询我的数据库,也许有人能帮我一下。 我使用的是django应用程序,所以我想Sqlite3>>我想要得到的输出是分数值

b = Answer.objects.get(id = 23)
这给了我一个输出:

<Answer: Answer to questionID '4' : AnswerID '23'>
我得到的口述如下:

 ['{
    "1)Long descriptive text":Score,
    "2)Long descriptive text":Score,
    "3)Long descriptive text":Score,
    "4)Long descriptive text":Score
    }']
分数为0到100之间的整数,例如“长描述性文本”:85

我需要使用查询提取分数,但我无法做到这一点 通常对于Dict[key:value]我会做Dict[key],但在这里我不知道怎么做

你能帮我一下吗
Thx你非常

如果是这样的话,这看起来很像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)

如果是这样,这看起来很像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)

您是否可以编辑您的问题,以包括您使用的数据库类型,以及您用于访问数据库的框架?
Answer
是一个数据库表,还是您编写的一个类?也可以将您想要实现的输出放在这里?您的问题令人困惑。我觉得你提供给我们的信息比我们需要知道的要多得多。我编辑了我的帖子,你在下面发布的“我得到一个dict的形式:”不是dict-它看起来像一个列表,它的单个元素是python dict的字符串表示,或者更可能是一个jsonified python dict。现在没有看到你的模型代码,在这里没有人能真正提供帮助。请编辑您的问题,包括您使用的数据库类型,以及您使用的访问数据库的框架?
Answer
是一个数据库表,还是您编写的一个类?也可以将您想要实现的输出放在这里?您的问题令人困惑。我觉得你提供给我们的信息比我们需要知道的要多得多。我编辑了我的帖子,你在下面发布的“我得到一个dict的形式:”不是dict-它看起来像一个列表,它的单个元素是python dict的字符串表示,或者更可能是一个jsonified python dict。现在没有看到你的模型代码,没人能帮上忙。嗨,杰蒙斯,好吧,我得到了过滤器和get之间的区别,但问题是提问中的属性是body,所以a.body和a.body是一个dict,与我在帖子中写的内容一致:['{“1)长描述性文本”:Score,“2)长描述性文本”:Score,“3)长描述性文本”:Score,“4)长描述性文本”:Score}'],Score是一个整数,我需要提取这个值。我想你需要在这里粘贴模型代码。你的“body”看起来像一个数组(
[
)和一个元素(从
'
'
结尾,例如,您是否在字符串中插入了一个字典…以前您是否执行过foo.body=somedict,这将强制转换为str…。如果是这种情况,您需要返回,而不是执行此操作(因为这不是序列化python dcits的方法),并执行类似于json.dumps(foo)的操作到“body”中(或者更好的是在新django上,看看如何使用jsonfield!)…这样你的“body”将是一个返回时的dict。嗨,杰蒙斯,好吧,我得到了filter和get之间的区别,但问题是,question中的属性是body,所以a.body是一个dict,与我在帖子中写的内容一致:['{“1)长描述文本:Score”,2)长描述性文本“:Score,“3)长描述性文本“:Score,“4)长描述性文本“:Score}'],分数为整数,我需要提取该值,我认为此时需要粘贴模型代码。您的“主体”看起来像一个带有单个元素的数组(
[
)(从
'
'
结尾,例如,您是否在字符串中插入了一个字典…以前您是否执行过foo.body=somedict,这将强制转换为str…。如果是这种情况,您需要返回,而不是执行此操作(因为这不是序列化python dcits的方法),并执行类似于json.dumps(foo)的操作到“body”中(或者在新的django上更好,看看如何使用jsonfield!)……这样,你的“身体”将成为一个返回时的口述。