我在创建dateproperty对象时遇到困难,我似乎无法创建对象。这是我的代码:
from google.appengine.ext import db
class Baby(db.Model):
name = db.StringProperty()
dob = db.DateProperty()
for i in Baby.all():
delete(i)
Baby(name='wilson', dob=Date(year=1986,month=3,day=5)).put()
我的代码有什么问题吗?
感谢您的帮助。
答案 0 :(得分:5)
DateProperty的值需要是datetime.date对象,如下所述:http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#DateProperty
因此,您需要添加:
import datetime
并将dob = Date(year = 1986,month = 3,day = 5)更改为:
dob = datetime.date(year=1986, month=3, day=5)
答案 1 :(得分:0)
正如@Elliot所说,db.DateProperty()只接受datetime.date对象。要了解更多关于datetime的信息,你可以看到here。这个datetime.date属性为你提供了更多的灵活性和操作性。而且使用timedelta你可以做更多的操作,比如提前一天等等。 所以你必须导入日期时间为
from datetime import date
year=self.request.get['year']
month=self.request.get['month']
day=self.request.get['day']
dob=date(int(year),int(month),int(day))
baby=Baby()
baby.name='wilson'
baby.date=dob
baby.put()