小编Nik*_*ntz的帖子

如何创建匹配键的查询?

我使用另一个用户(赞助商)的密钥来指示谁是用户的赞助商,并且它在数据存储区中为拥有赞助商的用户创建了一个链接,它最多只能有一个,但赞助商可以赞助许多用户,如赞助商在这种情况下,ID 2002赞助了其他三个用户:

在此输入图像描述

在这种情况下,此查询执行我想要的操作:SELECT * FROM User where sponsor =KEY('agtzfmJuYW5vLXd3d3ILCxIEVXNlchjSDww')但我不知道如何使用python编程,我只能将它用于数据存储区.当我想匹配在同一字段中具有相同用户密钥的用户集时,如何通过密钥进行查询?我的模型中的用户最多可以有一个赞助商,我只想知道某个人赞助的用户列表,然后他们轮流赞助用户,我也想查询.

现场赞助商是一个密钥,它有一个链接到数据存储区中的赞助商.我设置密钥就像user2.sponsor = user1.key一样,现在我想找到所有user1赞助的查询应该就像

User.All().filter('sponsor = ', user1.key)

但赞助商是类型键的字段,所以我不知道如何匹配它以查看例如活跃用户是赞助商的人的列表以及当第二代也有链接时它如何成为树.如何选择此用户为赞助商的用户列表,然后是第二代?当我建模关系时,简单地说就像u1 = u2.key,即user2.sponsor = user1.key.谢谢你的任何提示

以下解决方法是不好的做法,但这是我最后也唯一的方法:

def get(self):
    auser = self.auth.get_user_by_session()
    realuser = auth_models.User.get_by_id(long( auser['user_id'] ))
    q = auth_models.User.query()
    people = []
    for p in q:
      try:
        if p.sponsor == realuser.key:
           people.append(p)
      except Exception, e:
        pass
    if auser: 
        self.render_jinja('my_organization.html', people=people, user=realuser,)
Run Code Online (Sandbox Code Playgroud)

更新

问题是关键属性不是必需的,并且当我认为这是我的代码中的错误时,Guido Van Rossum已将此报告为ndb中的错误.这就是我现在正在使用的,这是一个非常可接受的解决方案,因为除了可能的程序员,测试人员和管理员之外,组织中的每个真实用户都需要拥有作为用户ID的赞助商ID.

from ndb import query
class Myorg(NewBaseHandler):
    @user_required
    def get(self):
        user = auth_models.User.get_by_id(long(self.auth.get_user_by_session()['user_id']))
    people = auth_models.User.query(auth_models.User.sponsor == user.key).fetch() …
Run Code Online (Sandbox Code Playgroud)

google-app-engine reference python-2.7 webapp2 google-cloud-datastore

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

如何解决UnicodeDecodeError?

尝试从数据存储区读取非ascii时,我收到一条奇怪的错误消息:

'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
Traceback (most recent call last):
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/handler.py", line 127, in dispatch
    response = super(NewBaseHandler, self).dispatch()
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/data/home/apps/s~myapp-www/events.355951895377615944/webapp2.py", line 545, …
Run Code Online (Sandbox Code Playgroud)

unicode google-app-engine jinja2 python-2.7 webapp2

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

循环的执行时间

我正在分析和测量,并通过我的分析和测量获得不同的结果.代码是两个循环,数据缓存大小为512字节,块大小为32字节:

int SumByColRow (int matrix[M][M], int size)
{
  int i, j, Sum = 0;

  for (j = 0; j < size; j ++) {
    for (i = 0; i < size; i ++) {
      Sum += matrix[i][j];
    }
  }
  return Sum;
}

int SumByRowCol (int matrix[M][M], int size)
{
  int i, j, Sum = 0;

  for (i = 0; i < size; i ++) {
    for (j = 0; j < size; j ++) {
      Sum += matrix[i][j];
    }
  } …
Run Code Online (Sandbox Code Playgroud)

c caching intel-fpga nios

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

在对一个字段使用wtform验证时,"不是一个有效的选择"是什么意思?

当使用动态选项验证时,我得到一个难以理解的错误消息(其中一个选择字段中的选项取决于其他选择字段中的选项.但是,一旦选择了某个区域,我就无法选择一个城市.为什么不呢?必须是什么做了什么?

 for city in montaomodel.City.all().fetch(99999):  # TODO: only do this for the region
     try:
         form.area.choices.insert(long(city.key().id()),
         (str(city.key().id()), 'Select...'))
     except:
         pass
Run Code Online (Sandbox Code Playgroud)

我的整个插入和验证代码块如下.

class AdLister(BaseRequestHandler,
               blobstore_handlers.BlobstoreUploadHandler):
    csrf_protect = False

    def post(self):
        logging.info("i post")
        ad = Ad()
        if users.get_current_user():
            ad.user = users.get_current_user()

        if self.current_user is not None:
            try:
                ad.usr = self.current_user
            except Exception, e:
                logging.info('exception %s' % str(e))
        logging.info("i post2")
        if self.request.get('type'):
            ad.type = self.request.get('type')
        if self.request.get('address'):
            ad.address = self.request.get('address')
        if self.request.get('rooms'):
            ad.number_of_rooms = int(self.request.get('rooms'))
        if self.request.get('size'):
            ad.size = float(self.request.get('size'))
        if self.request.get('regdate'):
            ad.regdate = …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 wtforms web

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

Improve movement of space aliens

在此输入图像描述

I code a mini Android game scenario inspired by Space Invaders and Moon Patrol. It is possible to shoot an alien horizontally (see above).

It is also possible to shoot an alien vertically (see below).

在此输入图像描述

But adding aliens doesn't "scale", it will be very difficult to add for instance 15 aliens moving with respect to all possible collisions. The original space invaders and moon patrol solved this, is it possible to develop a different strategy than the one I …

java android collision-detection sprite game-physics

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

如何使用python,json和google地图反转地理编码服务器端?

我正在尝试服务器端反向地理编码,它可以让我得到一个json响应,现在我想从json响应中获得2或3个变量:

我想解析这个数据并以例如结束. administrative_area_level_1 = 'Stockholm'

jsondata = json.load(urllib2.urlopen('http://maps.googleapis.com/maps/api/geocode/json?latlng=59.3,18.1&sensor=false'))

这是我的获取json的python代码,现在我想知道如何解析它以获得json

  • administrative_area_level_1 long_name(即州或地区名称)
  • 地方长名称(即城市名称)
  • 了解如何解析我的json

我可以解析它,但并不总是以administrative_area_1的形式出现:

jsondata["results"][0]["address_components"][5]["long_name"]

上面的行正确输出"纽约"作为纽约的一个点,但对于斯德哥尔摩,它输出一个邮政城市,即Johanneshow,而不是administraive_area_1(地区/州).那么如何保证函数总是返回administrative_area_1,最好不要循环?

我希望它可以像以下一样工作,直接访问国家,地区和城市:

logging.info("country:"+str(jsondata["results"][9]["formatted_address"]))
logging.info("administrative_area_level_1:"+str(jsondata["results"][8]["formatted_address"]))
logging.info("locality:"+str(jsondata["results"][8]["formatted_address"]))
Run Code Online (Sandbox Code Playgroud)

提前致谢

更新

对于我预期的结果,这是一个很好的答案.在等待答案的同时,我也试着自己实现一个解决方案:

jsondata = json.load(urllib2.urlopen('http://maps.googleapis.com/maps/api/geocode/json?latlng='+str(ad.geopt.lat)+','+str(ad.geopt.lon)+'&sensor=false'))
logging.info("geography:"+str(jsondata["results"][1]["formatted_address"]))
region = None
city = None
for result in jsondata["results"]:
  #logging.info("result:"+str(result))
  for component in result["address_components"]:
    logging.info("components:"+str(component))
    logging.info("components type:"+str(component["types"]))
    if 'administrative_area_level_1' in component["types"]:
      #logging.info(unicode('found admin area:%s' % component["long_name"]))
      region = component["long_name"]
    if 'locality' in component["types"]:
      logging.info("found locality:"+str(component["long_name"]))
      city = component["long_name"]
Run Code Online (Sandbox Code Playgroud)

python reverse-geocoding google-maps-api-3

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

任务队列中的状态405

我想解决在尝试生成报告时从任务队列中获取的状态405:

2012-02-16 03:56:53.012 /report/ 405 3ms 0kb AppEngine-Google; (+http://code.google.com/appengine)

2012-02-16 03:56:53.007 /createreport/ 302 20ms 0kb Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20100101 Firefox/4.0
I 2012-02-16 03:56:52.990 creating report task
Run Code Online (Sandbox Code Playgroud)

创建任务的代码是

class CreateReportHandler(webapp2.RequestHandler):

    def get(self):
        logging.info('creating report task')
        taskqueue.add(url=r'/report/')
        self.redirect('/')
Run Code Online (Sandbox Code Playgroud)

我用webapp2路由它:

Route(r'/createreport/', handler=CreateReportHandler, name='createreport'),
Run Code Online (Sandbox Code Playgroud)

那么我应该能够把它作为一个cron工作,但是当我测试它时,我从这段代码的访问中获得了405,如果我尝试直接运行它会超时:

class Report(webapp2.RequestHandler):

    def get(self):
        # Create a conversion request from HTML to PDF.
        users = User.query()
        today = date.today()
        startdate = date(today.year, today.month, 1) # first day of month   
        html = None     
        for user in users: 
            if …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine python-2.7 google-cloud-datastore

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

从hg存储库中删除二进制文件

Mercurial是否可以删除具有certaain扩展名的所有文件?我做了一个addremove,然后我的所有二进制.pyc都被版本化了,现在我在版本控制时得到了这个限制:

tool kdiff3 can't handle binary
tool docdiff can't handle binary
 no tool found to merge bnano-www/wtforms/widgets.pyc
keep (l)ocal or take (o)ther? o
19 files updated, 67 files merged, 0 files removed, 0 files unresolved

C:\Users\developer\bnano\bnano-www>
Run Code Online (Sandbox Code Playgroud)

我真的不知道这意味着什么,除了我可以按o为其他人继续我的工作.现在我想清理我的存储库,最佳的是能够在没有添加二进制文件的情况下执行addremove,但我认为这是不可能的.

在这种情况下,您能给出一些建议吗?

谢谢

version-control mercurial binaryfiles

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

如何理解Java泛型的这种用法

在我的学习书中,有这个例子:

import java.util.*;
public class RentalGeneric<T> {

  private List<T> rentalPool;

  private int maxNum;
  public RentalGeneric(int maxNum, List<T> rentalPool) {

  this.maxNum = maxNum;
  this.rentalPool = rentalPool;
}
public T getRental() {
  return rentalPool.get(0);
}
  public void returnRental(T returnedThing) {
    rentalPool.add(returnedThing);
  }
}
Run Code Online (Sandbox Code Playgroud)

我发现编译很奇怪,因为没有定义Class<T>.关于这个的故事是什么?它在我的书中说的T是类型参数,但我怎么知道何时使用它?

java generics

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

为第一个元素创建顶部边距的好方法

我有我用呈现的列表,它需要在第一个元素的顶部一些边距。我查看了 CSS 代码,我看到了margin-top:0!important,我可以为第一个元素覆盖它margin-top:10px!important;,然后渲染看起来不错。有没有更好的方法来实现它?我的代码(没有修复)是

<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.2/semantic.min.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
  <ul class="nav nav-tabs">
    <li class="nav active"><a href="#A" data-toggle="tab">All</a>
    </li>
    <li class="nav"><a href="#B" data-toggle="tab">Company</a>
    </li>
    <li class="nav"><a href="#C" data-toggle="tab">Private</a>
    </li>
  </ul>
  <!-- Tab panes -->
  <div class="tab-content">
    <div class="tab-pane fade in active" id="A">
      <div class="ui divided items">
        <div class="item">
          <div class="ui left floated">
            7 July.
            <br>3:33
          </div>
          <div class="image">
            <a href="/vi/5022701123010560.html">
              <img src="http://lh3.googleusercontent.com/JZkr-b_aWlYrFG1G-EUywZgucJE3JV1wgz4yQGrx-bGaw_va7dymsaTMXhK5t6ZkUdjWLeHlNaiksVNAMp8I1epB-Q=s150" title="Wordpress development company, website developer" alt="Wordpress …
Run Code Online (Sandbox Code Playgroud)

html css semantic-ui

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