小编Tom*_*Rup的帖子

NPM/Bower/Composer - 差异?

能向我解释的人之间的区别NPM,BowerComposer.

他们都是包裹经理 - 对吗?

但什么时候应该使用每一个?

此外,每个人都有一个随附的json文件,这是否存储了您需要的所有软件包,以便可以通过cmd行安装它们?你为什么需要这个档案?

npm composer-php bower

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

如何在Django中动态组合OR查询过滤器?

从示例中,您可以看到多个OR查询过滤器:

Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))
Run Code Online (Sandbox Code Playgroud)

例如,这会导致:

[<Article: Hello>, <Article: Goodbye>, <Article: Hello and goodbye>]
Run Code Online (Sandbox Code Playgroud)

但是,我想从列表中创建此查询过滤器.怎么做?

例如 [1, 2, 3] -> Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))

python django django-q

92
推荐指数
9
解决办法
4万
查看次数

PG ::错误:SELECT DISTINCT,ORDER BY表达式必须出现在选择列表中

ActionView :: Template :: Error(PG ::错误:错误:对于SELECT DISTINCT,ORDER BY表达式必须出现在选择列表中

我正在创建一个事件网站,我正在尝试按事件的开始时间对呈现的rsvps进行排序.有很多RSVPS,所以我将它们分组,但我在过去的几天里在排序结果时遇到了很多困难而没有在PG上弹出这个错误.我已经看了一些关于这个主题的先前问题,但我仍然很丢失.我怎样才能让它发挥作用?非常感谢!

@rsvps = Rsvp.where(:voter_id => current_user.following.collect {|f| f["id"]}, :status => 'going').where("start_time > ? AND start_time < ?", Time.now, Time.now + 1.month).order("count_all desc").count(:group => :event_id).collect { |f| f[0] }

<%= render :partial => 'rsvps/rsvp', :collection => Rsvp.where(:event_id => @rsvps).select("DISTINCT(event_id)").order('start_time asc') %>
Run Code Online (Sandbox Code Playgroud)

ruby postgresql ruby-on-rails distinct ruby-on-rails-3

45
推荐指数
3
解决办法
5万
查看次数

Django使用注释更新queryset

我想通过使用带注释的值更新queryset中的所有行.

我有一个简单的模型:

class Relation(models.Model):
    rating = models.IntegerField(default=0)

class SignRelation(models.Model):
    relation = models.ForeignKey(Relation, related_name='sign_relations')
    rating = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

我想要解释这段代码:

for relation in Relation.objects.annotate(total_rating=Sum('sign_relations__rating')):
    relation.rating = relation.total_rating or 0
    relation.save()
Run Code Online (Sandbox Code Playgroud)

并使用以下内容更新一个SQL请求:

Relation.objects.update(rating=Sum('sign_relations__rating'))
Run Code Online (Sandbox Code Playgroud)

不起作用:

TypeError: int() argument must be a string or a number, not 'Sum'
Run Code Online (Sandbox Code Playgroud)

要么

Relation.objects.annotate(total_rating=Sum('sign_relations__rating')).update(rating=F('total_rating'))
Run Code Online (Sandbox Code Playgroud)

也不起作用:

DatabaseError: missing FROM-clause entry for table "relations_signrelation"
LINE 1: UPDATE "relations_relation" SET "rating" = SUM("relations_si...
Run Code Online (Sandbox Code Playgroud)

为此可以使用Django的ORM吗?没有关于在文档中一起使用update()annotate()的信息.

django django-models django-queryset sql-update

35
推荐指数
3
解决办法
6692
查看次数

typeerror:app.use()需要中间件功能

我正在学习带有快速模板引擎的node.js,我正在关注udemy课程"通过构建10个项目来学习node.js",同时在教授运行npm start localhost:3000开始时讲课时我的弹出错误指示app.use需要中间件功能 我试过匹配代码及其相同.请帮我解决这个错误,我已经被困在这里几个小时尝试了很多编辑,但它不适合我.

当我试图运行'npm start'时弹出以下错误

TypeError:app.use()需要中间件函数

这是app.js代码:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var expressValidator = require('express-validator');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var bodyParser = require('body-parser');
var multer = require('multer');
var flash = require('connect-flash');
var mongo = require('mongodb');
var mongoose = require('mongoose');
var db = mongoose.connection;

var routes = require('./routes/index');
var users = require('./routes/users');

var …
Run Code Online (Sandbox Code Playgroud)

javascript mean node.js express

32
推荐指数
4
解决办法
5万
查看次数

django用q对象动态过滤

我正在尝试根据用户输入标签查询数据库.标签的数量可以是0-5,因此我需要动态创建查询.

所以我有一个标签列表,tag_list,我想查询数据库:

design_list = Design.objects.filter(Q(tags__tag__contains = "tag1") and Q(tags__tag__contains = "tag2") and etc. etc. )
Run Code Online (Sandbox Code Playgroud)

我该如何创建此功能?

django django-models django-q

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

Postgresql for OLAP

有没有人有使用PostgreSQL进行OLAP设置,使用多维数据集对数据库等的经验.在使用MySQL for OLAP时遇到了许多特性,是否有理由支持使用PostgreSQL(假设我想要开放)来源路线)?

postgresql olap cubes

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

Django Tastypie高级过滤:如何使用Q对象进行复杂查找

我有一个基本的Django模型,如:

class Business(models.Model):
    name = models.CharField(max_length=200, unique=True)
    email = models.EmailField()
    phone = models.CharField(max_length=40, blank=True, null=True)
    description = models.TextField(max_length=500)
Run Code Online (Sandbox Code Playgroud)

我需要在上面的模型上执行一个复杂的查询,如:

qset = (
    Q(name__icontains=query) |
    Q(description__icontains=query) |
    Q(email__icontains=query)
    )
results = Business.objects.filter(qset).distinct()
Run Code Online (Sandbox Code Playgroud)

我尝试了以下使用tastypie没有运气:

def build_filters(self, filters=None):
    if filters is None:
        filters = {}
    orm_filters = super(BusinessResource, self).build_filters(filters)

    if('query' in filters):
        query = filters['query']
        print query
        qset = (
                Q(name__icontains=query) |
                Q(description__icontains=query) |
                Q(email__icontains=query)
                )
        results = Business.objects.filter(qset).distinct()
        orm_filters = {'query__icontains': results}

    return orm_filters
Run Code Online (Sandbox Code Playgroud)

在课程Meta for tastypie我有过滤设置为:

filtering = { …
Run Code Online (Sandbox Code Playgroud)

python django tastypie django-q

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

结合AND和OR与Q对象的Django查询过滤器不返回预期结果

我尝试在使用Q对象的过滤器中组合AND和OR.它看起来像| 表现得像一个AND.这与先前的注释有关,该注释在同一查询中运行而不是在子查询中运行.

用Django处理这个问题的正确方法是什么?

models.py

class Type(models.Model):
    name = models.CharField(_('name'), max_length=100)
    stock = models.BooleanField(_('in stock'), default=True)
    hide = models.BooleanField(_('hide'), default=False)
    deleted = models.BooleanField(_('deleted'), default=False)

class Item(models.Model):
    barcode = models.CharField(_('barcode'), max_length=100, blank=True)
    quantity = models.IntegerField(_('quantity'), default=1)
    type = models.ForeignKey('Type', related_name='items', verbose_name=_('type'))
Run Code Online (Sandbox Code Playgroud)

views.py

def hire(request):
    categories_list = Category.objects.all().order_by('sorting')
    types_list = Type.objects.annotate(quantity=Sum('items__quantity')).filter(
        Q(hide=False) & Q(deleted=False),
        Q(stock=False) | Q(quantity__gte=1))
    return render_to_response('equipment/hire.html', {
           'categories_list': categories_list,
           'types_list': types_list,
           }, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

产生SQL查询

SELECT "equipment_type"."id" [...] FROM "equipment_type" LEFT OUTER JOIN
    "equipment_subcategory" ON ("equipment_type"."subcategory_id" =
    "equipment_subcategory"."id") LEFT OUTER JOIN …
Run Code Online (Sandbox Code Playgroud)

python django django-q

26
推荐指数
4
解决办法
3万
查看次数

Django annotate()多次导致错误的答案

Django为查询集提供了很好的新annotate()函数.但是,我无法让它在单个查询集中正确处理多个注释.

例如,

tour_list = Tour.objects.all().annotate( Count('tourcomment') ).annotate( Count('history') )
Run Code Online (Sandbox Code Playgroud)

游览可以包含多个tourcomment和历史记录条目.我想知道这次巡演有多少评论和历史条目.所结果的

history__count and tourcomment__count
Run Code Online (Sandbox Code Playgroud)

值不正确.如果只有一个annotate()调用,则该值将是正确的.

这两个人似乎有某种乘法效应LEFT OUTER JOIN.例如,如果一个巡视有3个历史记录和3个评论,那么9个将是两者的计数值.12个历史记录+ 1个评论= 12个值.1个历史记录+ 0个评论= 1个历史记录,0条评论(这一个恰好返回正确的值).

生成的SQL调用是:

SELECT `testapp_tour`.`id`, `testapp_tour`.`operator_id`, `testapp_tour`.`name`, `testapp_tour`.`region_id`, `testapp_tour`.`description`, `testapp_tour`.`net_price`, `testapp_tour`.`sales_price`, `testapp_tour`.`enabled`, `testapp_tour`.`num_views`, `testapp_tour`.`create_date`, `testapp_tour`.`modify_date`, `testapp_tour`.`image1`, `testapp_tour`.`image2`, `testapp_tour`.`image3`, `testapp_tour`.`image4`, `testapp_tour`.`notes`, `testapp_tour`.`pickup_time`, `testapp_tour`.`dropoff_time`, COUNT(`testapp_tourcomment`.`id`) AS `tourcomment__count`, COUNT(`testapp_history`.`id`) AS `history__count` 
FROM `testapp_tour` LEFT OUTER JOIN `testapp_tourcomment` ON (`testapp_tour`.`id` = `testapp_tourcomment`.`tour_id`) LEFT OUTER JOIN `testapp_history` ON (`testapp_tour`.`id` = `testapp_history`.`tour_id`)
GROUP BY `testapp_tour`.`id`
ORDER BY `testapp_tour`.`name` ASC
Run Code Online (Sandbox Code Playgroud)

我尝试将两个查询集的结果组合在一起,这两个查询集包含对annotate()的单个调用,但是它无法正常工作......您无法保证订单将是相同的.它似乎过于复杂和凌乱,所以我一直在寻找更好的东西......

tour_list = Tour.objects.all().filter(operator__user__exact = request.user …
Run Code Online (Sandbox Code Playgroud)

sql django django-queryset

23
推荐指数
2
解决办法
5017
查看次数