Как определить объект DateProperty в App Engine - PullRequest
0 голосов
/ 31 марта 2011

Я сталкиваюсь с трудностями при создании объекта 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()

Что-то не так с моим кодом?

Спасибо за помощь.

Ответы [ 2 ]

5 голосов
/ 31 марта 2011

Значением DateProperty должен быть объект datetime.date, как указано здесь: http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#DateProperty

Итак, вам нужно будет добавить:

import datetime

, а такжеизменить dob = Дата (год = 1986, месяц = ​​3, день = 5) на:

dob = datetime.date(year=1986, month=3, day=5)
0 голосов
/ 31 марта 2011

Как сказал @Elliot, db.DateProperty () принимает только объект datetime.date. Чтобы узнать больше о datetime, вы можете увидеть здесь . Это свойство 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...