Flask - POST请求仅返回一个项目

时间:2016-11-16 09:03:05

标签: python json python-2.7 flask sqlite

我的数据库中的用户和闹钟表。警报表与用户相关。

应用处理API视图的所有身份验证。

问题

当POST请求成功时,控制器不会返回数据库中的所有项目。它只返回一个。

我将在这里写下控制器代码,这些代码在登录成功后控制了操作

我试过了

{
  "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'>]"

返回所有项目,但我无法获得他们的价值。

{{1}}

我已经学会了json实现我之前的项目mongodb。我想我并不知道json如何使用sql或者错过了理论中的一些重要内容。对于循环语句,我做的第一个例子不应该返回正确的结果吗?

3 个答案:

答案 0 :(得分:1)

您正在返回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)

答案 1 :(得分:0)

您不应该在查询结果上调用str。

result = jsonify(user.alarm.all())

答案 2 :(得分:0)

user.alarm.all()将返回queryset。 您可以将其转换为列表,然后将其序列化为json 试试这个:

result = jsonify(list(user.alarm.all()))