我正在使用Python firebase-admin
库来集成Django rest框架和Firebase实时存储。我正在使用push()
函数来创建一个新的子节点。然而,该函数会为每个子节点添加一个字母数字键。有没有方法可以避免这种情况,并为数据添加自己的自定义键?
参见以下示例:
def post(self, request):
"""Function to handle post requests
Args:
request (_type_): _description_
"""
# Get the data to be posted from the request
name = request.POST.get('name')
age = request.POST.get('age')
location = request.POST.get('location')
# Set the reference to the database
ref = db.reference('/')
# Push the data to the database
ref.push({"user1" : {
'Name': name,
'Age': age,
'Location': location
}})
return JsonResponse({"message": "Data posted successfully"}, status=200)
运行此命令时,节点的创建如下所示
{
"data": {
"-NNzIPh4SUHo6FLhs060": {
"user1": {
"Age": "20",
"Location": "US",
"Name": "Dummy name 2"
}
},
"user2": {
"Age": "22",
"Location": "count1",
"Name": "Dummy 1"
}
}
}
-NNzIPh4SUHo6FLhs060
密钥已创建,我希望对其进行自定义。
1条答案
按热度按时间dtcbnfnu1#
调用
push()
是对数据库的一个指令,用于为传递的数据生成一个新的唯一子节点。如果要将数据直接写入指定的路径,请使用set()
而不是push()
。另请参阅Firebase文档中有关保存数据的内容