【问题标题】:Google App Engine Datastore delete entity by propertiesGoogle App Engine Datastore 按属性删除实体
【发布时间】:2015-07-25 17:46:49
【问题描述】:

我用pythondatastore 做了一个简单的登录页面。用户模型如下。

class User(db.Model):
    name = db.StringProperty()
    password = db.StringProperty()

问题 1:

假设我知道特定用户的名称和密码。如何从具有指定名称和密码属性的数据库中删除该实体?

问题 2:

假设我有一个用户实体,名称为“John”,密码为“1234”。鉴于这两件事,我如何将名称属性“John”更改为“Marcus”?

问题 3:

不使用GqlQuery是否可以做到这一点?

【问题讨论】:

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


    【解决方案1】:

    这些事情在documentation 中有很好的解释。 (其中还明确指出您不应该使用旧的 db API,而是使用 ndb 之一,但没关系。)

    1.

    user = User.all().filter('name =', name).filter('password =', password).get()
    if user:
        user.delete()
    

    2.

    user = User.all().filter('name =', 'John').filter('password =', '1234').get()
    if user:
        user.name = 'Marcus'
        user.put()
    
    1. 没有什么需要 GqlQuery。 GQL 只是底层数据存储 RPC 的另一个接口:它在任何意义上都不比 db 或 ndb API 更“原生”,而且它们不会像(例如)Django 的 ORM 那样“编译”为 GQL到 SQL。

    【讨论】:

    • 如果对您有帮助,请不要忘记接受答案。
    • 糟糕。忘了吧。接受。
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多