[英]Flask - POST request returns only one item
我的数据库中有用户和警报表。 与用户相关的警报表。
该应用程序使用API视图处理所有身份验证。
问题
POST请求成功后,控制器不会返回数据库中的所有项目。 它仅返回一个。
我将在此处编写控制器代码,这些代码将在登录成功后控制操作
我试过了
login_user(user)
for item in user.alarm:
return jsonify({
"id": item.id,
"dovizAdi": item.dovizAdi,
"mevcutDeger": item.mevcutDeger,
"beklenenDeger": item.beklenenDeger,
"oranTuru": item.oranTuru,
"tarih": item.tarih
})
仅返回一项
{
"beklenenDeger": "1.56",
"dovizAdi": "ons",
"id": 1,
"mevcutDeger": "1.54",
"oranTuru": "buying",
"tarih": null
}
我试过了
result = jsonify(str(user.alarm.all()))
return result
返回所有项目,但我无法获取它们的值。
"[<Alarm u'ons'>, <Alarm u'ceyrek-altin'>]"
我已经在之前的项目mongodb中学习了json实现。 我想我不会理解json如何与sql一起使用,或者错过了理论上的一些重要内容。 对于循环语句,我做的第一个示例不应该返回正确的结果?
您返回for循环而不是收集数据的问题
result = []
for item in user.alarm:
result.append({
"id": item.id,
"dovizAdi": item.dovizAdi,
"mevcutDeger": item.mevcutDeger,
"beklenenDeger": item.beklenenDeger,
"oranTuru": item.oranTuru,
"tarih": item.tarih
})
return jsonify(result)
您不应在查询结果上调用str。
result = jsonify(user.alarm.all())
user.alarm.all()
将返回queryset。 您可以将其转换为list,然后将其序列化为json尝试以下操作:
result = jsonify(list(user.alarm.all()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.