Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用UserProperty链接数据的Google应用程序引擎_Python_Google App Engine_Data Modeling_Capitalization - Fatal编程技术网

Python 使用UserProperty链接数据的Google应用程序引擎

Python 使用UserProperty链接数据的Google应用程序引擎,python,google-app-engine,data-modeling,capitalization,Python,Google App Engine,Data Modeling,Capitalization,我正在用GAE写一份申请书。为了将当前登录的用户链接到我的应用程序中的数据,我一直依赖于用户之间的平等性。get_current_user()和members.user(请参见下面的模型)。我遇到的麻烦是,当用户登录时使用的电子邮件地址与他/她最初登录时使用的大小写不同(janeDoe@example.com != janedoe@example.com). 将当前用户链接到特定于应用程序的数据的最可靠方法是什么 class members(db.Model): firstName=d

我正在用GAE写一份申请书。为了将当前登录的用户链接到我的应用程序中的数据,我一直依赖于用户之间的平等性。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()

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

不要使用用户名-调用
user.user\u id()
,并对其进行比较。它保证保持不变,即使昵称或电子邮件地址改变。

我不知道Pyton,但这似乎是正确的。无论如何,这个问题与语言无关:在存储或比较电子邮件(以及用户名)之前,您总是使用小写。如果这样做,我需要将属性类型更改为db.UserProperty()以外的其他类型。@user589983为什么
user\u id()
是用户对象上的一个方法,由
UserProperty
返回。