这个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属性?
我想通过我的浏览器仪表板创建一个gql查询,以便轻松查找特定条目,例如:
SELECT * FROM MyEntity where mString = "SpecificEntity"
Run Code Online (Sandbox Code Playgroud)
但我无法正确理解语法.我看到很多使用参数绑定/替换的例子(不确定它叫什么),但我不知道如何简单地直接编写它而不会在我尝试查询时出错.有帮助吗?
更新:这是为Python(并已经很好地回答).
我有一个简单的问题:
在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?
根据语法应该:=存在.
谢谢.
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)
它返回"无"
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上创建一个电子商务平台.为此,我需要将我将提供的产品的详细信息存储在一个单独的实体中,其中还包括每个产品的图像.现在,如何在数据存储区中存储图像?此外,更重要的是,如何从数据库中提取图像并在我的应用程序中为用户显示它?
编辑:
将我的图像上传到"图像"实体后,我试图显示它.这是相同的代码:
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)