【发布时间】:2021-10-11 09:54:24
【问题描述】:
我有以下代码。我想将具有名称和位置属性的博物馆对象传递给create_booking 函数。我该怎么做?
我尝试过类似create_booking(user, {name, location}, date, arHr, leHr):
@staticmethod
def create_booking(user, museum, date, arHr, leHr):
task = datastore.Entity(DB.client.key("Bookings"))
if len(DB.get_museum(museum.name)) == 0:
return "Museum not found", 404
if DB.get_bookings_number_by_date(museum.name, date)[0] > 10:
return "To many bookings for this date", 401
task.update(
{
"user": user,
"museum": {
"name": name,
"location": location
},
"date": date,
"arriving hour": arHr,
"leaving hour": leHr
}
)
DB.client.put(task)
11 月更新, 这就是我修复它的方法:
def create_booking(self, user, museum: Dict[str, str], date, arHr, leHr):
task = datastore.Entity(self.client.key("Bookings"))
if len(self.get_museum(museumname)) == 0:
return "Museum not found", 404
if self.get_bookings_number_by_date(museumname, date)[0] > 10:
return "To many bookings for this date", 401
task.update(
{
"user": user,
#you need to get the properties from your dictionar
"museum": {
"name": museum['name'],
"location": museum['location']
},
# alternatively
"museum": museum,
"date": date,
"arriving hour": arHr,
"leaving hour": leHr
}
)
self.client.put(task)
【问题讨论】:
-
您想将这些值传递给现在是 Firestore 的数据存储区吗?您是否尝试安装 SDK 并写入集合?
-
Datastore 和 Firestore 一样吗?我没有安装任何东西,我不得不制作一个小组项目,其中一个人试图设计数据库,但我们都不知道如何在创建预订时将对象作为参数传递给函数。
-
为努力而点赞,早在他们之前就有人帮助了我。
-
@Joyce 如果您觉得以下任何答案都可能有所帮助,那么请考虑接受一个答案。它将通过提高帖子的可见性来帮助可能面临类似问题的其他社区成员。
标签: python database nosql google-cloud-datastore