小编Paw*_*ski的帖子

数据存储区查看器中具有数字ID的GQL查询

我想构建GQL查询以使用其数字ID获取对象.我在App管理控制台的Datastore查看器中这样做,所以我不能使用Model.get_by_id(numeric_id).就像是

SELECT * FROM Model WHERE id = <numeric_id>
Run Code Online (Sandbox Code Playgroud)

也行不通.

google-app-engine gql

35
推荐指数
2
解决办法
1万
查看次数

找到与其他点集合的距离总和最小的点

我有一组(X)点(不是很大,比如1-20分)和第二组(Y),更大的点数.我需要从Y中选择一个点,从X 到X的所有点的距离总和是最小的.

我想出了一个想法,我将X视为多边形的顶点并找到该多边形的质心,然后我将从Y最接近质心的位置选择一个点.但我不确定质心是否最小化了它到多边形顶点的距离之和,所以我不确定这是否是一个好方法?有没有解决这个问题的算法?

点由地理坐标定义.

gis algorithm optimization geometry

10
推荐指数
1
解决办法
7357
查看次数

在Google App Engine中使用mapreduce的简单计数器示例

我对GAE中mapreduce支持的当前状态感到困惑.根据文档http://code.google.com/p/appengine-mapreduce/还不支持reduce阶段,但在I/O 2011会话描述中(http://www.youtube.com)/watch?v = EIxelKcyCC0)它写的"现在可以在App Engine上运行完整的Map Reduce作业".我想知道我是否可以在此任务中使用mapreduce:

我想做的事:

我有车型的车型:

class Car(db.Model):
    color = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)

我想运行mapreduce进程(不时地,cron定义),它可以计算每种颜色中有多少汽车,并将此结果存储在数据存储区中.看起来像一个非常适合mapreduce的工作(但是如果我错了更正),阶段"map"将为每个Car实体产生对(,1),而阶段"reduce"应该通过color_name合并这些数据给出我预期的结果.我想得到的最终结果是存储在数据存储区中的计算数据的实体,类似于:

class CarsByColor(db.Model):
    color_name = db.StringProperty()
    cars_num = db.IntegerProperty()
Run Code Online (Sandbox Code Playgroud)

问题: 我不知道如何在appengine中实现这个...视频显示了定义map和reduce函数的示例,但它们似乎是与数据存储无关的非常一般的示例.我发现的所有其他示例都使用一个函数来处理来自DatastoreInputReader的数据,但它们似乎只是"map"阶段,没有关于如何执行"reduce"的示例(以及如何将结果存储在数据存储).

python google-app-engine mapreduce

9
推荐指数
2
解决办法
3779
查看次数

如何在Google App Engine上的django中避免NotImplementedError"只有tempfile.TemporaryFile可以使用"?

我正在通过Google App Engine使用Django 1.1 use_library.这里没有使用Django GAE助手,Django非rel或类似工具.Django处理URL路由,表单验证等,但我使用的是纯App Engine模型.

在我的一个Django表单中有一个FileField,它有时会调用django.core.files.uploadedfile.TemporaryUploadedFile.然后该类使用tempfile.NamedTemporaryFile,这会导致App Engine引发:

File "/base/python_runtime/python_dist/lib/python2.5/tempfile.py", line 45, in PlaceHolder
   raise NotImplementedError("Only tempfile.TemporaryFile is available for use")
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我从Google App Engine Helper for Django(不使用)中获取了uploadfile模块,NamedTemporaryFile将其保存为gae_uploadedfile.py应用程序目录,并在我的_djangomain.py_文件中添加:

from google.appengine.dist import use_library
use_library('django', '1.1')
(...)
import gae_uploadedfile
django.core.files.uploadedfile = gae_uploadedfile
Run Code Online (Sandbox Code Playgroud)

djangomain.py是一个文件,我重定向所有网址 - 在app.yaml我有:

- url: /.*
  script: djangomain.py
Run Code Online (Sandbox Code Playgroud)

但它没有帮助,我仍然得到这个例外.我做错了什么,是否有其他解决方案可以避免在使用FileField时出现此错误django.forms

python django google-app-engine django-forms

8
推荐指数
1
解决办法
3056
查看次数

如何使用HYPERLINK将url文本移出字段

我有一个包含超链接公式的列,例如:

=HYPERLINK("http://example.com", "Link")
Run Code Online (Sandbox Code Playgroud)

我想获得其他列,其中仅第一列中的url(作为文本)会出现,也就是说,在此示例中:

http://example.com
Run Code Online (Sandbox Code Playgroud)

是否有允许从HYPERLINK提取URL的功能?我也在考虑从第一列中获取公式文本,并在最后一列中使用SPLIT / SUBSTITUTE进行剪切,但是我不确定是否可以将一个域代码插入另一个域。

google-sheets

8
推荐指数
2
解决办法
7219
查看次数

引擎反向引用问题

根据文档:http://code.google.com/appengine/docs/python/datastore/datamodeling.html#References 自动创建的反向引用对象是一个Query对象,因此可能会对其进行迭代并进行提取调用.

但是:我有一个型号:

class User(db.Model):
   name = db.StringProperty()
   ...
Run Code Online (Sandbox Code Playgroud)

和第二个模型:

class Thing(db.Model):
    owner = db.ReferenceProperty(User)
    ...
Run Code Online (Sandbox Code Playgroud)

当我尝试访问反向引用时:

for thing in user.thing_set:
    ...
Run Code Online (Sandbox Code Playgroud)

要么:

user.thing_set.fetch(100)
Run Code Online (Sandbox Code Playgroud)

我得到这样的例外:

<type 'exceptions.TypeError'>: '_ReverseReferenceProperty' object is not iterable
Run Code Online (Sandbox Code Playgroud)

或者像这样:

<type 'exceptions.AttributeError'>: '_ReverseReferenceProperty' object has no attribute 'fetch'
Run Code Online (Sandbox Code Playgroud)

我做错了什么或者有什么改变吗?我很确定以前它像Query一样工作.文档页面上甚至有一个示例,显示与我的相同用法:

for obj in obj1.secondmodel_set:
    # ...
Run Code Online (Sandbox Code Playgroud)

另外,没有反向引用的查询工作正常:

things = Thing.all().filter('owner =', user)
Run Code Online (Sandbox Code Playgroud)

python google-app-engine google-cloud-datastore

5
推荐指数
1
解决办法
421
查看次数

如何在GAE Python上从cron启动mapreduce作业

我在mapreduce.yaml中定义了mapreduce作业:

mapreduce:
- name: JobName 
  mapper:
    input_reader: google.appengine.ext.mapreduce.input_readers.DatastoreInputReader
    handler: handler_name
    params:
    - name: entity_kind
      default: KindName
Run Code Online (Sandbox Code Playgroud)

如何从cron开始呢?是否有一些可以运行它的网址?

python cron google-app-engine mapreduce

5
推荐指数
1
解决办法
1041
查看次数

django中pre_delete信号的当前用户

是否有可能在连接到pre_delete信号的回调中获得已登录的django用户(调用模型的删除方法)?

django django-signals django-models

4
推荐指数
1
解决办法
1912
查看次数

django-haystack空间搜索要求?

我正在尝试使用django-haystack进行地理空间查询,如下所述:http://django-haystack.readthedocs.org/en/latest/spatial.html我使用elasticsearch作为后端.我根据文档创建了search_indexes,配置了django,当我第一次尝试使用rebuild_index管理命令时,我看到了一个错误:

python manage.py rebuild_index --settings=myproject.settings.local

WARNING: This will irreparably remove EVERYTHING from your search index in connection 'default'.
Your choices after this are to restore from backups or rebuild via the `rebuild_index` command.
Are you sure you wish to continue? [y/N] y
Removing all documents from your index because you said so.
All documents removed.
Indexing 1 Venues
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  ...
  ...
  File "/f/venvs/myproject/local/lib/python2.7/site-packages/haystack/backends/elasticsearch_backend.py", line 161, …
Run Code Online (Sandbox Code Playgroud)

python django geodjango django-haystack

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