googleappengine数据存储查询返回对象的内存位置,而不是实际项目(python2.7)

2024-05-05 14:06:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试查询数据库以验证用户名是否已经存在。你知道吗

模型定义为:

    class UserAccounts(db.Model):
        username = db.StringProperty(required=True)
        password = db.StringProperty(required=True)
        email = db.StringProperty()

我从注册表单中获取用户名,并按如下方式查询用户名:

    username = self.request.get('username')
    ...
    query = db.GqlQuery("SELECT * FROM UserAccounts WHERE username=:1", username).get()

我试图比较query == username,这总是失败的。经过调查,我发现query对象只是返回一个内存地址,而不是存储在该位置的字符串<main.UserAccounts object at 0x10433b990>,我不知道为什么。在同一个应用程序中,我有另一个模型,我正在查询并使用一个循环遍历查询对象并检索项目,这很好。我使用的是python2.7和gaesdk1.8。任何帮助都将不胜感激。你知道吗


Tags: 对象模型truedbgetmodel定义required
1条回答
网友
1楼 · 发布于 2024-05-05 14:06:42

它不是返回内存地址,而是返回对象,并且显示它的默认表示。可以使用常用的点表示法访问其字段,也可以定义__unicode__方法来定义默认的字符串表示形式。你知道吗

相关问题 更多 >