小编Xun*_*ang的帖子

django评论框架:distinct()不起作用?

在注释模型的任何字段上运行distinct()始终返回所有记录,

Comment.objects.values( '用户').不同的()

[{'user':1},{'user':0},{'user':0},{'user':0},{'user':0},{'user':1},{ 'user':1},{'user':1},{'user':1}]

Comment.objects.values( 'IP_ADDRESS').不同的()

[{'ip_address':u'127.0.0.1'},{'ip_address':u'192.168.0.180'},{'ip_address':u'192.168.0.180'},{'ip_address':u'192.168.0.180 '},{'ip_address':u'192.168.0.180'},{'ip_address':u'192.168.0.180'},{'ip_address':u'192.168.0.180'},{'ip_address':u'192.168.0.180'},{'ip_address':u' 192.168.0.180' }]

为什么会这样?有没有解决的办法?谢谢!

ps:distinct()在我的测试期间在自定义模型的不同类型的字段中运行得非常好.关于评论框架的一些特别之处?

结论总结 感谢大家回答这个问题,再加上一些阅读,我得出如下结论:

  1. values()影响最终sql的SELECT部分​​中的查找字段(" values()采用可选的位置参数,*字段,指定SELECT应限制的字段名称 ")
  2. order_by()也将其参数添加到SELECT部分​​.
  3. 在查找中使用distinct()将导致sql看起来像这样:

    SELECT DISTINCT [fields1,fields2,fields3] FROM ... WHERE ...

    并且所有字段的值一起决定记录是否唯一.这些字段可能来自查找中的values()或order_by()函数.

  4. 因此order_by()在与distinct()结合时添加一些不需要的效果,order_by中指定的字段也会考虑记录是否唯一

  5. Django Comment默认有一个隐藏的order_by参数,从而创建了整个问题.任何模型在返回qs时都会隐藏order_by会导致同样的问题.

  6. 解决它的方法是在查找结束时添加一个空的order_by(),这将删除默认的order_by.

django distinct django-comments

6
推荐指数
2
解决办法
3353
查看次数

python open('file','r +')给出了奇怪的结果

阅读一些帖子后,您似乎可以使用"r +"或"w +"模式打开文件进行读写.但是,尝试使用这些模式总会给我带来奇怪的结果:

  1. 如果我使用'r +',调用file.read(),然后调用file.write('str'),就会出现"IOError:[Errno 0] Error"错误
  2. 如果我使用'r +',调用file.write('str'),然后调用file.read(),它将返回意外和非常长的内容(看起来像某个对象的内部)
  3. 如果我使用'w +',调用file.read()将返回空字符串

我要做的是打开一个文件,阅读内容,修改它,然后回写.目前我用'r'打开它,更改内容,然后用'w'再打开它并回写.这是一个很好的方式吗?

http://snipt.org/zglJ0上有一个例子

我正在使用window 7和python 2.7.2

python file-io file

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

OpenCV VideoCapture 内存泄漏

我在资源非常有限的系统中运行 opencv。使用了两个摄像头,我不能让它们都占用内存。所以我必须一直激活/停用它们。但是,每次执行时似乎都会出现内存泄漏。这是显示问题的示例:

import cv2

while True:
    cap=cv2.VideoCapture(0)
    cap.set(3,1920)
    cap.set(4,1080)
    stat,img=cap.read()  #this line creates a memory leak
    cap.release()
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu下测试了一下,也有内存泄漏的情况。我有机会修复它吗?

python opencv memory-leaks

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

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

推送后github无法访问文件夹

我在一个文件夹中工作,可以很好地使用 github 进行推/拉。但是现在我试图用另一个文件夹包装这个文件夹,在将新文件夹推送到 github 后,我无法访问子文件夹(它存在于 github 中,但无法单击)。如果有人从 github 中提取它,它似乎是正确的文件大小,但子文件夹中没有任何内容。

我的工作方式:

  1. 我一直在一个文件夹中工作并在那里设置 git。我很正常地将此文件夹推送到github
  2. 然后我把这个文件夹放在一个 Aptana 项目文件夹中,从项目文件夹中设置 git。
  3. 我从第三个文件夹中设置了 git,从 github 中拉取并删除了内容。我将 Aptana 项目文件夹的内容移入,提交了“内部文件夹”(我正在处理的那个)中的所有内容,并提交了 Aptana 项目文件夹。
  4. 我推送了,github里面的子文件夹好像是空的

我之前在一个与“master”不同的分支上工作,但似乎将它切换到 master 无论如何也无济于事。

有谁知道我能用这个做什么?非常感谢!:)

git push pull github repository

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

C++继承具有不同默认参数值的函数

我想继承一个成员函数而不重新定义它,但给它不同的默认值.我该怎么办?

class Base{
  public:
    void foo(int val){value=val;};
  protected:
    int value;
};

class Derived : public Base{
  public:
    void foo(int val=10);
};

class Derived2 : public Base{
  public:
    void foo(int val=20);
};

void main(){
   Derived a;
   a.foo();//set the value field of a to 10
   Derived2 b;
   b.foo();//set the value field of b to 20
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

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

javascript中的奇怪语法:'sth'+ + new Date

我正在阅读一个jquery插件,并找到这个有趣的语法:

'sth'+ +new Date
Run Code Online (Sandbox Code Playgroud)

它创建一个数字字符串,作者使用该字符串作为唯一ID: sth1237004731731

我很好奇它是什么样的语法,如果有一些关于它的阅读材料?谢谢!

javascript jquery

3
推荐指数
2
解决办法
354
查看次数

用c ++初始化一些数据数组

我想建立所有俄罗斯方块的定义:

#include <iostream>
#include <vector>

struct Tetris{
    std::vector<int> data;
    int getAt(int x, int y){return data.at(y*4+x);};
} tetris[6];

int main(){
    //stick
    tetris[0].data.resize(32);
    int array0[32]={0,0,0,0,
                    0,0,0,0,
                    1,1,1,1,
                    0,0,0,0,
                    0,1,0,0,
                    0,1,0,0,
                    0,1,0,0,
                    0,1,0,0};
    tetris[0].data.assign(array0,array0+32);

    //brick
    tetris[1].data.resize(16);
    int array1[16]={0,0,0,0,
                    0,1,1,0,
                    0,1,1,0,
                    0,0,0,0};
    tetris[1].data.assign(array1,array1+16);

    ...

}
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我需要定义6个数组,仅用于存储初始化数据(array0,array1...),这在初始化后是无用的.这看起来效率很低,浪费内存.我想知道每次使用后是否有办法删除这些数据?

更新:

如果我想重用array0,比方说

    tetris[0].data.resize(32);
    int array0[32]={...};
    tetris[0].data.assign(array0,array0+32);

    //brick
    tetris[1].data.resize(16);
    delete array0;
    int array0[16]={...};
    tetris[1].data.assign(array0,array0+16);

    ...
Run Code Online (Sandbox Code Playgroud)

编译器将报告"array0重定义"的错误.是delete不是在这种情况下工作?

c++ arrays

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

如何在Laravel中自定义日期变更器?

我在我的数据库中创建了一些日期时间字段,正如Laravel文档中所述,我可以"自定义哪些字段会自动变异".然而,没有示例显示如何完成,也没有任何搜索结果.我应该怎么做才能使某些字段自动变异?

例如,我在迁移中创建了一个名为"people"的表,其中一个字段定义如下:

class CreatePeopleTable extends Migration {
  public function up(){
    Schema::create("bookings",function($table){
      ...
      $table->dateTime("birthday");
      ...
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我在模型中为"人"定义了一个模型:

class People extends Eloquent{
  //nothing here
}
Run Code Online (Sandbox Code Playgroud)

如果我引用People实例的生日,它将是字符串,而不是DateTime

$one=People::find(1);
var_dump($one->birthday);
//String
Run Code Online (Sandbox Code Playgroud)

日期变更器应该能够将它直接转换为Carbon对象,但是文档并没有说明应该如何实现它.

php laravel laravel-4

3
推荐指数
2
解决办法
8687
查看次数

sass:用像素计算百分比

在一种情况下,我需要在计算中将百分比变量与像素结合起来。

注意这与在生成的 css 中保持混合单位无关,因此 calc 不起作用。

$fooPercent: 40%;

.abc {
  width: 100% - $fooPercent; // This works
}
.bar {
  width: 100px * (100% - $fooPercent);  // Intend to get 60px
}
Run Code Online (Sandbox Code Playgroud)

css sass

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