0

我有这个基本模型:

class User(auth_models.User):
username = ndb.StringProperty()
email = ndb.StringProperty()
first_name = ndb.StringProperty()
last_name = ndb.StringProperty()
employee_start_date = ndb.DateProperty()

但是,当我创建用户时:

success, obj = self.auth.store.user_model.create_user(
    "auth:"+ username,
    unique_properties = ['email'],
    email = emailaddress,
    first_name = firstname,
    last_name = lastname,
    employee_start_date = startdate)

我收到以下错误:

NotImplementedError: Property employee_start_date does not support <type 'datetime.date'> types.

(注意:如果我不包括employee_start_date,则创建用户成功)

现在,从我通过搜索互联网可以看出,这是因为 user_model 是一个扩展模型,并且由于某种原因它不支持日期字段。但是,我不确定。

我也尝试在创建用户后立即添加它,但我收到了相同的错误消息:

obj.employee_start_date = startdate
obj.put()

有没有办法向这个用户模型添加日期属性?

4

2 回答 2

0

要使用您自己的 User 类,请确保设置

config = {'webapp2_extras.auth':{
    'user_model': 'your_auth.User'
}}

对于 webapp2.WSGIApplication 配置参数

于 2012-11-30T19:44:32.577 回答
0

startdate您尝试分配给的employee_start_date值不是 type date,而是datetime。为了让您的代码正常工作,您有两种选择:

1) 更改employee_start_datedatetime

employee_start_date = ndb.DateTimeProperty()

2) 使startdate变量 asdate和 not datetime

于 2012-11-30T07:28:38.950 回答