标签: gql

App Engine GQL:查询日期范围

这个Django语句的App Engine相当于什么?

return Post.objects.get(created_at__year=bits[0], 
                            created_at__month=bits[1], 
                            created_at__day=bits[2],
                            slug__iexact=bits[3])
Run Code Online (Sandbox Code Playgroud)

我最后写了这个:

Post.gql('WHERE created_at > DATE(:1, :2, :3) AND created_at < DATE(:1, :2, :4) and slug = :5',
    int(bit[0]), int(bit[1]), int(bit[2]), int(bit[2]) + 1, bit[3])
Run Code Online (Sandbox Code Playgroud)

但与Django相比,这是非常可怕的.还有其他更多的Pythonic/Django魔法方式,例如with Post.filter()created_at.day/month/year属性?

django google-app-engine gql

0
推荐指数
1
解决办法
4104
查看次数

如何使用硬编码字符串进行python gql查询?

我想通过我的浏览器仪表板创建一个gql查询,以便轻松查找特定条目,例如:

SELECT * FROM MyEntity where mString = "SpecificEntity"
Run Code Online (Sandbox Code Playgroud)

但我无法正确理解语法.我看到很多使用参数绑定/替换的例子(不确定它叫什么),但我不知道如何简单地直接编写它而不会在我尝试查询时出错.有帮助吗?

更新:这是为Python(并已经很好地回答).

string google-app-engine gql

0
推荐指数
1
解决办法
1057
查看次数

GQL语法条件

我有一个简单的问题:

在GQL 语法摘要中

<condition> := <property> {< | <= | > | >= | = | != } <value>
Run Code Online (Sandbox Code Playgroud)

但在这里的一个例子

if users.get_current_user():
    user_pets = db.GqlQuery("SELECT * FROM Pet WHERE owner = :1",
                            users.get_current_user())
Run Code Online (Sandbox Code Playgroud)

什么是:1

根据语法应该:=存在.

谢谢.

google-app-engine gql

0
推荐指数
1
解决办法
1337
查看次数

解析错误:符号处不会有其他符号

username =  self.request.get('username')
groupName =  db.GqlQuery("SELECT group FROM Person WHERE name = :1", username).get()
Run Code Online (Sandbox Code Playgroud)

我收到错误"Parse Error:在符号组中没有其他符号".怎么了?


objPerson = Person.get_by_key_name(username) # load
self.response.out.write(str(objPerson))
Run Code Online (Sandbox Code Playgroud)

它返回"无"

google-app-engine gql google-cloud-datastore

0
推荐指数
1
解决办法
1682
查看次数

为什么这个数据存储区通过密钥返回None来查询?

1)当我执行此查询时:

contract_record = Contract(book_number = 42, initial_page = 420, final_page = 442)
contract_record.put()
contract_key = contract_record.key()
contract = db.GqlQuery("SELECT * FROM Contract WHERE __key__ = KEY('Contract', '$[contract_key]')").get()
Run Code Online (Sandbox Code Playgroud)

结果是无.为什么?

2)如何通过密钥进行此查询,而不是key_id?(像这样:

contract_id = contract_record.key().id()
contract = db.GqlQuery("SELECT * FROM Contract WHERE __key__ = KEY('Contract', '$[contract_id]')").get()
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python google-app-engine gql datastore

0
推荐指数
1
解决办法
259
查看次数

Google App Engine:将图像存储在数据库中(Python)

我正在使用Python在Google App Engine上创建一个电子商务平台.为此,我需要将我将提供的产品的详细信息存储在一个单独的实体中,其中还包括每个产品的图像.现在,如何在数据存储区中存储图像?此外,更重要的是,如何从数据库中提取图像并在我的应用程序中为用户显示它?

编辑:

将我的图像上传到"图像"实体后,我试图显示它.这是相同的代码:

main.py

class FileUpload(Handler):
    def post(self):
        file_upload = self.request.POST.get("file", None)
        file_name = file_upload.filename
        image = Images(id=file_name, file_name=file_name, blob=file_upload.file.read())
        image.put()

        self.response.headers[b'Content-Type'] = mimetypes.guess_type(image.file_name)[0]
        self.response.write(image.blob)
        self.final()

    def final(self):
        images = db.GqlQuery("Select * FROM Images WHERE file_name = 'CN.jpg'")
        self.render("template.html", images = images)

class Blob(Handler):
    def get(self):
        self.render("blob.html")


app = webapp2.WSGIApplication([('/', MainPage),
                                ('/signup', Register),
                                ('/login', Login),
                                ('/logout', Logout),
                                ('/mp', MP),
                                (r'/file_upload', FileUpload),
                                ('/blob', Blob)], debug=True)
Run Code Online (Sandbox Code Playgroud)

template.html

<html>
<head>
    <title>Template</title>
</head>
<body>
    {%
        for image in images
    %}
    <div>{{image.blob}}</div>
    {%endfor%} …
Run Code Online (Sandbox Code Playgroud)

python database google-app-engine gql

0
推荐指数
1
解决办法
3286
查看次数