Python dict,提取值
我很难查询我的数据库,也许有人能帮我一下。 我使用的是django应用程序,所以我想Sqlite3>>我想要得到的输出是分数值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
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!)……这样,你的“身体”将成为一个返回时的口述。