GAE ReferenceProperty来自选项值的错误

时间:2013-10-25 18:54:38

标签: google-app-engine python-2.7

我正在尝试使用由Referenced Category填充的select选项通过POST添加新目标。下拉列表正确填充,但是我从返回的值中得到的键导致ReferenceProperty错误。

models.py:

class Categories(db.Model):
  name = db.StringProperty(required=True)
  amount = db.FloatProperty(required=True)

class Goals(db.Model):
  name = db.StringProperty(required=True)
  amount = db.FloatProperty(required=True)
  category = db.ReferenceProperty(Categories)

add_goal.html:

select type="select" name="category" id="id_cat"  
{% for c in cats %}
option value='{{c.name}}'  {{ c.name }}  /option
{% endfor %}
/select>

正确版本:     {%for c in cats%}          {{c.name}}         {%endfor%}

views.py:

def post(self):
    cat_key = db.Key.from_path('Categories', self.request.get('category'))
    logging.info('cat_key= '+ str(cat_key))

    g = Goals(name=self.request.get('name'),
                category=cat_key,
                 amount=float(self.request.get('amount')))
    g.put()
    return webapp2.redirect('/view_goals')

正确版本:         def post(self):         cat_key = db.Key.from_path('Categories',int(self.request.get('category')))

    g = Goals(name=self.request.get('name'),
                category=cat_key,
                 amount=float(self.request.get('amount')))
    g.put()

0 个答案:

没有答案
相关问题