firebase “list”对象没有属性“json”

5ktev3wc  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(99)

我尝试从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都是新手,所以任何帮助都将不胜感激

vojdkbi0

vojdkbi01#

正如@Kevin指出的,each并不返回一个json,而是一个列表,你可以在pyrebase文档中查看它。
您的代码可能如下所示:

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)

相关问题