我正在尝试从firebase数据库中获取所有产品,但以json数据形式。 这是我的数据库的结构:
products{
0{
name:...
price:...
}
1{
name:..
price:..
,依此类推。下面是我尝试的代码:
import json
from .models import Product
import pyrebase
def get_products():
database = firebase_key().database()
product_list = Product.objects.all()
r = database.child("products").get().each()
jsonList = r.json()
jsonData = jsonList['products']
data = []
for products in r:
productData = {}
productData['name'] = products.name
productData['image'] = products.image
productData['price'] = products.price
productData['description'] = products.description
data.append(productData)
return data
我是django和firebase的新手,所以将不胜感激
答案 0 :(得分:0)
正如@Kevin指出的,each
不会返回json,而是返回列表。您可以在pyrebase documentation上签出。
您的代码应该看起来像这样:
all_products = database.child("products").get()
for product in all_products.each():
data.append(product.val()) # This works if your fields have the same names.
修改
如果您仍然需要数据作为JSON。
json_data = json.dumps(data)