在注释模型的任何字段上运行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()在我的测试期间在自定义模型的不同类型的字段中运行得非常好.关于评论框架的一些特别之处?
结论总结 感谢大家回答这个问题,再加上一些阅读,我得出如下结论:
在查找中使用distinct()将导致sql看起来像这样:
SELECT DISTINCT [fields1,fields2,fields3] FROM ... WHERE ...
并且所有字段的值一起决定记录是否唯一.这些字段可能来自查找中的values()或order_by()函数.
因此order_by()在与distinct()结合时添加一些不需要的效果,order_by中指定的字段也会考虑记录是否唯一
Django Comment默认有一个隐藏的order_by参数,从而创建了整个问题.任何模型在返回qs时都会隐藏order_by会导致同样的问题.
阅读一些帖子后,您似乎可以使用"r +"或"w +"模式打开文件进行读写.但是,尝试使用这些模式总会给我带来奇怪的结果:
我要做的是打开一个文件,阅读内容,修改它,然后回写.目前我用'r'打开它,更改内容,然后用'w'再打开它并回写.这是一个很好的方式吗?
我正在使用window 7和python 2.7.2
我在资源非常有限的系统中运行 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下测试了一下,也有内存泄漏的情况。我有机会修复它吗?
我在 SpiderMonkey 中遇到了一些人的说法,“let 块和 let 表达式已经过时了”,而有关它的信息却很少。我想知道这到底意味着什么?“let”语句不是 ES6 中流行的新功能吗?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features
我在一个文件夹中工作,可以很好地使用 github 进行推/拉。但是现在我试图用另一个文件夹包装这个文件夹,在将新文件夹推送到 github 后,我无法访问子文件夹(它存在于 github 中,但无法单击)。如果有人从 github 中提取它,它似乎是正确的文件大小,但子文件夹中没有任何内容。
我的工作方式:
我之前在一个与“master”不同的分支上工作,但似乎将它切换到 master 无论如何也无济于事。
有谁知道我能用这个做什么?非常感谢!:)
我想继承一个成员函数而不重新定义它,但给它不同的默认值.我该怎么办?
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) 我正在阅读一个jquery插件,并找到这个有趣的语法:
'sth'+ +new Date
Run Code Online (Sandbox Code Playgroud)
它创建一个数字字符串,作者使用该字符串作为唯一ID: sth1237004731731
我很好奇它是什么样的语法,如果有一些关于它的阅读材料?谢谢!
我想建立所有俄罗斯方块的定义:
#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不是在这种情况下工作?
我在我的数据库中创建了一些日期时间字段,正如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对象,但是文档并没有说明应该如何实现它.
在一种情况下,我需要在计算中将百分比变量与像素结合起来。
注意这与在生成的 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) c++ ×2
javascript ×2
python ×2
arrays ×1
css ×1
distinct ×1
django ×1
ecmascript-6 ×1
file ×1
file-io ×1
firefox ×1
git ×1
github ×1
inheritance ×1
jquery ×1
laravel ×1
laravel-4 ×1
memory-leaks ×1
opencv ×1
php ×1
pull ×1
push ×1
repository ×1
sass ×1
spidermonkey ×1