小编Ben*_*Ben的帖子

范围 ElasticSearch 聚合

我需要在 ElasticSearch 中计算管道聚合,但我不知道如何表达它。

每个文档都有一个电子邮件地址和一个金额。我需要输出按唯一电子邮件分组的金额计数范围。

{ "0 - 99": 300, "100 - 400": 100 ...}
Run Code Online (Sandbox Code Playgroud)

基本上是预期的输出(密钥将在我的应用程序代码中转换),表明 300 封独特的电子邮件在所有文档中累计收到至少 99 封(数量)。

直觉上,我希望像下面这样的查询。但是,范围似乎不是存储桶聚合(或允许存储桶路径)。

这里的正确方法是什么?

{
 aggs: {
   users: {
     terms: {
       field: "email"
     },
     aggs: {
       amount_received: {
         sum: {
           field: "amount"
         }
       }
     }
   },
   amount_ranges: {
     range: {
       buckets_path: "users>amount_received",
       ranges: [
           { to: 99.0 },
           { from: 100.0, to: 299.0 },
           { from: 300.0, to: 599.0 },
           { from: 600.0 }
       ]
     }
   }
}
  }
Run Code Online (Sandbox Code Playgroud)

elasticsearch elasticsearch-aggregation

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

Django内联Formset问题(列表超出范围)

这应该很简单,我实际上已经在昨天工作了.我不知道发生了什么变化,但它现在抛出一个错误.

def game_design(request):
    user=User.objects.get(pk=request.user.id)
    organization=user.organization_set.all()[0]
    website=organization.website_set.all()[0]
    surveys=website.survey_set.all()
    error=''
    SurveyFormSet=inlineformset_factory(Website, Survey, extra=0, can_delete=True)
    NavigationFormSet=modelformset_factory(Navigation, extra=1)
    if request.method=='POST':
        survey_formset=SurveyFormSet(request.POST, request.FILES, prefix="surveys")
        navigation_formset=NavigationFormSet(request.POST, request.FILES, prefix="navigations")
        if survey_formset.is_valid() and navigation_formset.is_valid():
                survey_formset.save()
            navigation_formset.save()
            return HttpResponseRedirect("/rewards/")
        else:   
            error="Please fix your errors"
           survey_formset=SurveyFormSet(request.POST, request.FILES,prefix="surveys")
           navigation_formset=NavigationFormSet(request.POST, request.FILES,prefix="navigations")
           return render_to_response('website/game_design.html', {'website':website,'survey_formset':survey_formset, 'navigation_formset':navigation_formset, 'error':error}, context_instance=RequestContext(request))
    else:
         survey_formset=SurveyFormSet(instance=website,prefix="surveys")
         navigation_formset=NavigationFormSet(queryset=Navigation.objects.none(),prefix="navigations")
    return render_to_response("website/game_design.html", {'website':website,'survey_formset':survey_formset,'navigation_formset':navigation_formset,'error':error},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

感谢您对此提供任何帮助

django inline-formset

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

为什么外键不能保存在ModelForm上(1048,"列'post_id'不能为空")

这应该是一个简单的问题,但它现在已经让我失望了一段时间.

我想保存一个模型,但我不断收到上述错误.

class Favorite(models.Model):
    post=models.ForeignKey(Post)
      user=models.ForeignKey(User)  
    note=models.TextField(max_length=1000, blank=True)


def listing(request, pid):
    post=get_object_or_404(Post,pk=pid)
    favform=FavoriteForm()
     try:
        ratings=post.post_rating_set.all()
        score=ratings.aggregate(mark=Avg('rating'))
         score=int(score.get('mark',0))-1 
    except AttributeError:
            ratings=''
            score=1000 
    if request.method=="POST" and request.POST.get('save_it',''):
        user=User.objects.get(pk=request.user.id)
        favorite=FavoriteForm(request.POST)
        if favorite.is_valid:

            favorite.save(commit=False)
            favorite.user=user
            favorite.post=post

            favorite.save()
Run Code Online (Sandbox Code Playgroud)

我的表单验证,我已经测试了用户和帖子,它们都包含预期的查询集.我尝试不先保存最喜欢的表单,但也失败了.m2m不适合这里.

这是mysql设置错误吗?

django django-models django-forms

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

下载Django 1.3官方发布失败

当我尝试在Ubuntu 10.4中下载1.3版本的Django时,它将其保存为index.html.

wget http://www.djangoproject.com/download/1.3/tarball/
Run Code Online (Sandbox Code Playgroud)

我过去成功完成了这项工作.已安装Python2.6.没有安装以前版本的django.

是什么赋予了?

django

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

Python - Timedelta表达式忽略天数(处理6分钟相同,24小时+ 6分钟)

我正在尝试计算自帖子上线以来的小时数.它有效,除了它将24小时后视为0小时.换句话说,它似乎只是从基准时间中减去当前时间而不考虑日差.

    def hours_live(self):
         diff=((datetime.datetime.today() - self.created).seconds)/3600
         return '%d Hours Ago' %diff
Run Code Online (Sandbox Code Playgroud)

self.created指的是Django DateTimeField:

      created=models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

我在这里错过了关于datetime对象的内容?

python django datetime

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

Django Haystack 搜索 Django 模型 PK

是否有一个简单的钩子可以通过 Django 模型 PK 查找 Haystack 结果?类似的东西(这不起作用)

   SearchQuerySet().filter(pk=12)
Run Code Online (Sandbox Code Playgroud)

另一种方法是,我将显式字段添加到模型 pk 的 SearchIndex 中,但这似乎很浪费,因为 Haystack 的查询集结果包含底层 django 模型 pk

django django-haystack

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