小编Old*_*Pro的帖子

Django - order_by如何工作?

我想知道order_by如果给定order_by字段的值对于一组记录是相同的,Django是如何工作的.考虑我score在DB中有一个字段,我正在使用过滤查询集order_by('score').具有相同分数值的记录如何自行排列?

每次,他们都在具有相同分数的记录子集中随机排序,这打破了客户端的分页.有没有办法覆盖它并以一致的顺序返回记录?

我正在使用Django 1.4和PostgreSQL.

python django postgresql sql-order-by

5
推荐指数
2
解决办法
9471
查看次数

限制rest-client读取的响应大小

我正在使用Ruby gem rest-client(1.6.7)使用HTTP GET请求检索数据.但是,有时响应比我想要处理的大,所以我希望有一些方法可以在RestClient超过我设置的大小限制时停止读取.该文件说:

对于通用API未涵盖的情况,您可以使用提供较低级API的RestClient :: Request类.

但我不明白这对我有什么帮助.我没有看到任何看起来像处理传入数据流的钩子的东西,只有在读完整个东西后我才能执行的操作.我不想浪费时间和内存将大量响应读入缓冲区而只是丢弃它.

如何设置上的数据的读出的数量是有限RestClientGET请求?或者是否有一个我可以使用的不同客户端可以轻松设置这样的限制?

ruby rest-client

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

从rails 3升级到rails 4时,has_many关联的顺序错误

我正在尝试将一个项目从Rails 3更新到Rails 4.在Rails 3中我做了:

class Sale < ActiveRecord::Base
  has_many :windows, :dependent => :destroy
  has_many :tint_codes, :through => :windows, :uniq => true, :order => 'code ASC'
  has_many :tint_types, :through => :tint_codes, :uniq => true, :order => 'value ASC'
end
Run Code Online (Sandbox Code Playgroud)

当我调用sale.tint_types时,它在Rails 3中执行以下查询:

SELECT DISTINCT "tint_types".* FROM "tint_types" INNER JOIN "tint_codes" ON "tint_types"."id" = "tint_codes"."tint_type_id" INNER JOIN "windows" ON "tint_codes"."id" = "windows"."tint_code_id" WHERE "windows"."sale_id" = 2 ORDER BY value ASC
Run Code Online (Sandbox Code Playgroud)

我为Rails 4更新了这样的:

class Sale < ActiveRecord::Base
  has_many :windows, :dependent => :destroy
  has_many :tint_codes, …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql sql-order-by has-many-through ruby-on-rails-4

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

使 git format-patch 跟随重命名,如 git log --follow

我正在尝试将文件从一个本地git 存储库移动到另一个本地 git 存储库以用于不同的项目,同时保留原始存储库中的历史记录。到目前为止,我有这个,这是工作的罚款,如果该文件从来没有移动或在源回购改名为:

# Executed from a directory in the target repository
( cd $SOURCE_REPOSITORY_DIRECTORY && git format-patch -B -M --stdout --root $SOURCE_FILENAME) | git am --committer-date-is-author-date
Run Code Online (Sandbox Code Playgroud)

这恰好有效,因为两个存储库的目录结构相同。如果它们不同,我必须创建补丁文件并使用sed或修复目录名称。

无论如何,这一切都在膨胀,直到我遇到一个已重命名的文件。即使我指定了-B -M(并获得了与 相同的结果-B -M -C --find-copies-harder),我也没有从移动之前获得补丁,即使文件被干净地移动(相似指数 100%)。

这特别奇怪,因为git log --follow显示了所有提交并git log --follow -p提供了所有差异。除了它以相反的顺序提供它们,所以我不能将它们送入git am.

另请注意,会git log --follow -p filename推出以下“补丁”以显示重命名:

diff --git a/old_dir_name/dir1/dir2/filename b/new_dir_name/dir0/dir1/dir2/filename
similarity index 100%
rename from old_dir_name/dir1/dir2/filename …
Run Code Online (Sandbox Code Playgroud)

git

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

在Github上,我如何找到单个文件提交所属的拉取请求

在GitHub上,我可以看到文件提交的历史记录.../commits/master/filename.我想知道的是,假设这些变化master通过Pull Requests 合并到一起,那么Pull Request的变化来自何处?有一个简单的方法吗?

github

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

SQL选择和组记录具有不同顺序的相同单词

我在表中有以下值:

表水果

id | name                        | price
-----------------------------------------
 1 | 'APPLE BANANA ORANGE'       | 12.00
 2 | 'BANANA ORANGE APPLE'       |  4.00
 3 | 'ORANGE APPLE BANANA'       | 10.00
 4 | 'LEMON APPLE BANANA ORANGE' |  7.00
 5 | 'APPLE LEMON BANANA ORANGE' |  8.00
Run Code Online (Sandbox Code Playgroud)

我想选择3个第一行的所有值,而我只有一个包含'APPLE BANANA ORANGE'的文本

SELECT * 
FROM fruits 
WHERE name IN 
('APPLE BANANA ORANGE','BANANA ORANGE APPLE','ORANGE APPLE BANANA')
Run Code Online (Sandbox Code Playgroud)

问题是这些值来自另一个表,我正在寻找一种方法来生成可能值的不同组合

也许使用一个函数:

SELECT * 
FROM fruits f 
INNER JOIN order o ON o.name IN some_function(f.name)
Run Code Online (Sandbox Code Playgroud)

也许使用一些正则表达式:

SELECT …
Run Code Online (Sandbox Code Playgroud)

regex sql postgresql group-by sql-order-by

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

从Alpine 3.6下的Node.js 8核心转储获取堆栈跟踪

我遇到一种情况,node当在基于Alpine 3.6的Docker容器中的Kubernetes下运行时,版本8崩溃了,但是不在本地。我怀疑某种内存损坏或库不匹配或同样奇怪的事情,因为崩溃是不可复制的,并且我尝试过的任何日志记录都无法在崩溃之前记录问题。我设法生成了一个核心转储,但是现在我找不到任何从核心转储中获取堆栈跟踪的方法。

有什么方法可以从Alpine 3.6下由Node.js版本8生成的核心转储中获取堆栈跟踪?

node.js alpine-linux

5
推荐指数
0
解决办法
164
查看次数

尝试运行“提交的”Docker 映像,得到“无法在现有文件上安装卷,文件存在”

我正在开发 Docker 镜像。我从一个基本图像开始,并使用bash. 我安装了一堆东西,安装(包括编译大量代码)花了 20 多分钟,所以为了保存我的工作,我使用了:

$ docker commit 0f08ac958391 myproject:wip
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试运行图像时:

$ docker run --rm -it myproject:wip
docker: Error response from daemon: cannot mount volume over existing file, file exists /var/lib/docker/overlay2/95aa9a9ea7cc0b1ba302adbd287e4d7059ee4fbe64183404df3bc65df332ee63/merged/run/host-services/ssh-auth.sock.
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?我该如何解决?

请注意相关/重复的问题:虽然还有关于此错误消息的其他问题,但没有一个答案直接解释为什么在这种情况下会发生错误或如何处理。事实上,大多数问题根本没有答案。

docker

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

为什么Spring @Value与@Controller不兼容?

我正在寻找一个更好地理解这个问题.解决方法非常简单,即将配置数据移动到另一个没有包含代理/建议的类,但我认为更好地理解它将帮助我避免将来出现其他相关问题,所以我想要任何解释任何人可以提供.

我正在使用Spring 3.1.0.RELEASE与Spring STS和vFabric tc服务器.使用@Controller类实现了一个基本的小型REST服务器.这是所有伟大的(实际上,它是),但@Controller也@Transactional,并且和负载时编织和TC的vFabric服务器之间,它打破@Value.

@Controller
@RequestMapping("/hello")
public class MyAPI {

    @Value("${my.property}")
    private String prop;
    ...

    @Transactional
    handleRequest(...) ...


}
Run Code Online (Sandbox Code Playgroud)

和属性文件app.properties:

my.property = SUCCESS
Run Code Online (Sandbox Code Playgroud)

这在JUnit下工作正常,测试得到一个支持设置为"SUCCESS"的MyAPI对象.但是当应用程序加载到vFabric中时,我猜它会加载时间编织和代理.无论发生什么事情,有创造了两个MyAPI情况下,一个拥有道具=="成功"和另一个(这是很不幸的是处理HTTP请求中的一个),其中有托=="$ {} my.prop".

总而言之,我称之为魔术的失败,这是我使用像AOP这样的东西最大的担忧.即使使用STS,我也不知道如何找出问题背后的原因,或者弄清楚这是否是一个严重的错误.如果它是一个bug,我不知道它是Spring,AspectJ,加载时织入器还是vFabric中的bug,所以我甚至不知道在哪里提交bug报告.

因此,理解这一点的任何帮助将不胜感激.谢谢.

java spring annotations aspectj load-time-weaving

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

Java:尝试执行所有行,还是跳转到catch?

我想知道java try-catch语句的执行路径,但无法找到有关以下情况的详细信息.

如果我有一个如下声明:

try {

  // Make a call that will throw an exception
  thisWillFail();

  // Other calls below:
  willThisExecute();

} catch (Exception exception) {
  // Catch the exception
}
Run Code Online (Sandbox Code Playgroud)

在移动到catch之前,thisWillFail()下面的行是否会执行,或者一旦抛出异常,try语句的执行是否会跳转到catch?

换句话说,假设调用'a'不会在try语句中抛出异常,是否可以安全地假设调用'a'后调用'b'将会执行?

谢谢

java try-catch order-of-execution

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