【问题标题】:AttributeError: 'Query' object has no attribute 'has_key'AttributeError:“查询”对象没有属性“has_key”
【发布时间】:2016-11-01 12:55:02
【问题描述】:

我已更改表定义以使用参考属性。现在,当我尝试插入时,如果 value 不是 None 而不是 value.has_key(): AttributeError: 'Query' object has no attribute 'has_key'

subject = self.request.get('subject')
    content = self.request.get('content')
    user = self.request.get('name')
    name = User.all().filter('name =', user)

    if subject and content:
        p = Post(parent = blog_key(), subject = subject, content = content, user = name)

        p.put()

这是我的帖子类

class Post(db.Model):
subject = db.StringProperty(required = True)
content = db.TextProperty(required = True)
created = db.DateTimeProperty(auto_now_add = True)
last_modified = db.DateTimeProperty(auto_now = True)
user = db.ReferenceProperty(User)

我正在使用 Python 2.7。我试图按照另一篇帖子中关于 value is not None 和 not value.has_key() 的说明进行操作:但这些建议对我不起作用。

【问题讨论】:

  • 奇怪。 has_key 是已弃用的字典键检查,已在 python 3 中删除。
  • 你在研究python3吗?
  • 哦,我使用的是 Python 2.7,因为我认为最近 GAE 允许使用 Python 3。

标签: python google-app-engine google-cloud-datastore


【解决方案1】:

感谢大家的帮助。

我添加然后将名称设置为 p。

    for p in q.run():
        print  "name ", p.name

    if subject and content:
        p = Post(parent = blog_key(), subject = subject, content = content, name = p)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多