如何在Google AppEngine上的djangoforms.ModelForm中使用ListProperty(users.user)?

时间:2010-04-30 07:10:05

标签: python google-app-engine single-sign-on

我一直在寻找有关如何做到这一点的信息。基本上我有一个模型:

class SharableUserAsset(db.Model):
  name = StringProperty()
  users = ListProperty(users.User)

我的问题是:

  1. 在未经过身份验证的情况下,将用户与此值相关联的最佳方式是什么,签证vi邀请来自联系人列表等?
  2. 是否有合理的方法在djangoforms.ModelForm中轻松呈现列表控件?
  3. 一旦用户登录,我希望能够检查该用户是否在任何数量的SharableUserAsset类“记录”的列表中,我该怎么做?
  4. 用户是否评估为与电子邮件地址匹配,或者是否有办法根据电子邮件地址查找有效用户?

1 个答案:

答案 0 :(得分:1)

  

在查询中,比较列表属性   一个值执行测试   列表成员:list_property =   如果值出现,则测试值   列表中的任何地方

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#ListProperty

所以要查找与当前用户关联的所有SharableUserAsset,只需查询:

user = users.get_current_user()
assets = SharableUserAsset.gql("WHERE users = :1", user)

这是处理ListProperty个对象的another reference

App Engine User对象包含电子邮件地址,可以使用.email()方法停用电子邮件地址。