我正在学习如何使用googleappengine/Python。(网络应用程序)
我来自Java(可能是我的问题!),如果我把对象放在Swing列表框中,它会调用它们的toString()方法来进行显示。当我选择其中一个时,它将返回对象,而不仅仅是toString()生成的表示。在
我有一个Person模型,其中包含一个Person详细信息:class Person(db.Model):
'''represents a single person'''
first = db.StringProperty()
last = db.StringProperty()
address = db.StringProperty()
city = db.StringProperty()
region = db.StringProperty()
postal = db.StringProperty()
country = db.StringProperty()
phone = db.StringProperty()
cell = db.StringProperty()
email = db.StringProperty()
comment = db.StringProperty(multiline=True)
以及一个预订模型,该模型存储有关房间的信息,并存储与预订相关的人员:
^{pr2}$
为了从用户那里获取预订信息,并将预订放入数据库,我有一个HTML表单,其中包含各种字段,包括房间、到达日期、出发日期等。其中之一包括一个“客户列表”,其中一个字段可获取数据库中已存在人员的列表:
{% for person in clients %}
{{ person.first|escape }} {{ person.last|escape }}
{% endfor %}
这样可以显示姓名,但我不知道如何将所选的个人或客户机存储到预订中,代码如下:class Bookings(webapp.RequestHandler):
'''Handles all of the bookings'''
def post(self):
'''adds a new booking into the db'''
reservation = models.Reservation()
reservation.room = self.request.get('room')
reservation.start_day = int(self.request.get('start_day'))
reservation.start_month = util.month_to_int(self.request.get('start_month'))
reservation.start_year = int(self.request.get('start_year'))
reservation.end_day = int(self.request.get('end_day'))
reservation.end_month = util.month_to_int(self.request.get('end_month'))
reservation.end_year = int(self.request.get('end_year'))
reservation.percent_discount = int(self.request.get('percent_discount'))
reservation.comment = self.request.get('comment')
#This would get the clients first + last name, but not the object Person
#reservation.client = self.request.get('client_list')
reservation.put()
self.redirect('/bookings')
我开始看钥匙(特别是db.Key.from_路径),以及在GAE中创建的每个人如何生成一个惟一的ID,但是我仍然不知道如何从HTML中显示的列表中获取分配给一个人的唯一ID,如果显示的只是人名。在
这看起来是有可能的,也可能很简单,但经过两天的搜索,我什么也没找到。让我知道如果我需要提供更多的信息,这是我在堆栈溢出这里的第一篇文章!谢谢你的建议。在