推送后获取firebase密钥(python2.7)

时间:2017-12-20 18:00:48

标签: python python-2.7 firebase-realtime-database callback key

我正在使用Python 2.7和Pyrebase(作为一个软件包与我的Firebase数据库进行通信)。 我想在我的数据库中获取新推送的对象的key()。我使用node.js做了很多次,但是我需要一些帮助来使用Python 2.7 这是我的API:

@APP.route('/api/product', methods = ['POST'])
def products():
    product_details = {
        "title": request.form['title'],
        "description": request.form['description']
    }
    new_product = DB.push("product").push(product_details)
    print new_product.get().key()

    return json.dumps(apiResponse.success(product_details))

该对象将被插入到数据库中,但我不知道如何获取其密钥。 在node.js中,我会使用一个promise,插入后,我会得到密钥。

P.S:由于我使用.ref()

,我无法使用Pyrebase

1 个答案:

答案 0 :(得分:0)

我将此添加到我的代码中:  rec = DB.child("product").push(product_details)这样,我就能获得密钥。所以,我的代码现在看起来像这样:

@APP.route('/api/product', methods = ['POST'])
def products():
    product_details = {
        "title": request.form['title'],
        "description": request.form['description']
    }
  DB.child("product").push(product_details)
  rec = DB.child("product").push(product_details)   
  DB.child("users").child(owner_details['uid']).child('products').update({rec['name']: "true"})
  return json.dumps(apiResponse.success(product_details))