【问题标题】:Google App Engine using UserProperty to link dataGoogle App Engine 使用 UserProperty 链接数据
【发布时间】:2011-07-09 20:29:24
【问题描述】:

我正在 GAE 中编写应用程序。为了将当前登录的用户链接到我的应用程序中的数据,我一直依赖 users.get_current_user() 和 members.user 之间的相等性(参见下面的模型)。我遇到麻烦的地方是当用户使用与他/她的初始登录不同的大小写的电子邮件地址登录时(janeDoe@example.com!= janedoe@example.com)。将当前用户链接到应用程序特定数据的最可靠方法是什么?

class members(db.Model):
    firstName=db.StringProperty(verbose_name='First Name',required=True)
    lastName=db.StringProperty(verbose_name='Last Name',required=True)
    user=db.UserProperty()

【问题讨论】:

    标签: python google-app-engine data-modeling capitalization


    【解决方案1】:

    不要使用用户名 - 调用 user.user_id(),然后进行比较。即使昵称或电子邮件地址发生变化,也保证保持不变。

    【讨论】:

    • 如果这样做,我需要将属性类型更改为 db.UserProperty() 以外的其他内容。
    • @user589983 为什么? user_id() 是 User 对象上的一个方法,由 UserProperty 返回。
    【解决方案2】:

    始终将用户名转换为小写,然后对其进行操作:第一次存储时和以后比较时。

    【讨论】:

    • 我不知道 Pyton,但这似乎是正确的。无论如何,这个问题与语言无关:在存储或比较它们之前,您总是小写电子邮件(以及一般的用户名)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多