小编Cer*_*rin的帖子

如何在 Tox 中获取文件

在运行测试命令之前,如何配置 Tox 以获取文件?

我尝试了显而易见的:

commands = source /path/to/my/setup.bash; ./mytestcommand
Run Code Online (Sandbox Code Playgroud)

但 Tox 只是报告 ERROR: InvocationError: could not find executable 'source'

我知道 Tox 有一个setenv参数,但我想使用我的setup.bash,而不必将其内容复制并粘贴到我的tox.ini.

tox

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

如何用天数计算注释 Django 查询?

如何使用自创建记录以来的天数计算来注释表的 Django 查询?

我想根据优先级乘以记录创建以来的天数的组合指标来排序表。

为了获得日期注释,我正在尝试执行以下操作:

qs = qs.annotate(days=(ExtractDay(Now()-F('created_datetime'))))
Run Code Online (Sandbox Code Playgroud)

但是,这会引发错误:

django.db.utils.ProgrammingError: function pg_catalog.timezone(unknown, interval) does not exist
LINE 1: ...EMENT_TIMESTAMP() - "myapp_mymodel"."created_timestamp") AT TIME ZO...
                                                         ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的Extract()功能,但它也会产生类似的错误。

我究竟做错了什么?

表面上,我只需要执行与 Django 等效的操作EXTRACT(DAY FROM NOW() - created_timestamp),但 Django 的Extract(..., 'days')ExtractDay()函数似乎与 PostgreSQL 的等效项实际上并不匹配。

看起来 Django 的返回值Now()和我的时间戳字段都是时区感知时间戳,那么为什么数据库会抱怨类型不兼容呢?

我的数据库后端是 PostgreSQL。

python django django-orm

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

在Django 1.5中缺少元类

你如何在Django 1.5中覆盖模型的元类?我在一些继承自抽象模型的模型上覆盖了元类,因此我可以设置适当的选择.例如

class BaseModel(models.Model):

    field_with_choices = models.CharField(max_length=100)

    class Meta:
        abstract = True

class MyModelMetaClass(BaseModel.__metaclass__):
    def __new__(cls, *args, **kwargs):
        new_class = super(MyModelMetaClass, cls).__new__(cls, *args, **kwargs)
        field = new_class._meta.get_field('field_with_choices')
        choices = field._choices = []
        choices.extend(get_choices())
        return new_class

class MyModel(BaseModel):

    __metaclass__ = MyModelMetaClass
Run Code Online (Sandbox Code Playgroud)

但是,当我升级到Django 1.5时,我现在得到错误:

AttributeError: type object 'BaseModel' has no attribute '__metaclass__'
Run Code Online (Sandbox Code Playgroud)

如何在1.5中覆盖模型的元类,或者在模型子类中动态设置字段属性?

python django django-models

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

如何通过相关模型过滤Haystack SearchQuerySets

如何通过相关模型字段过滤/加入Haystack SearchQuerySet?

我有一个查询:

sqs = SearchQuerySet().models(models.Person)
Run Code Online (Sandbox Code Playgroud)

这将返回与等效管理页面返回的结果相同的结果.

但是,如果我尝试按外键链接的模型记录进行过滤:

sqs = sqs.filter(workplace__role__name='teacher')
Run Code Online (Sandbox Code Playgroud)

即使页面/admin/myapp/person/?workplace__role__name=teacher返回多条记录,它也不会返回任何内容.

我不想对这些相关模型进行任何全文搜索.我只想做一个简单的完全匹配过滤器.干草堆有可能吗?

python django django-haystack

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

在numpy矩阵中查找最大列值的行索引

有没有一种快速有效的方法来查找NxM Numpy数组中具有最高值的每一列中的行?

我目前正在通过Python中的嵌套循环执行此操作,这比较慢:

from PIL import Image
import numpy as np
img = Image.open('sample.jpg').convert('L')
width, height = size = img.size
y = np.asarray(img.getdata(), dtype=np.float64).reshape((height, width))
max_rows = [0]*width
for col_i in xrange(y.shape[1]):
    max_vaue, max_row = max([(y[row_i][col_i], row_i) for row_i in xrange(y.shape[0])])
    max_rows[col_i] = max_row
Run Code Online (Sandbox Code Playgroud)

对于640x480的图像,这大约需要5秒钟。虽然不是很大,但是在Numpy / PIL / C中完全实现的更复杂的图像操作(如模糊)需要0.01秒或更短的时间。我正在尝试对视频流执行此操作,因此这是一个巨大的瓶颈。如果不编写自己的C扩展名,如何加快速度?

python arrays performance numpy python-imaging-library

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

如何在类构造函数中存储实例引用

如何将实例引用传递给类构造函数并将该引用存储到私有变量?

我正在做:

class MyClass{

private:

    OtherClass obj;

public:

    MyClass(OtherClass &_obj){
        obj = _obj;
    }
};
Run Code Online (Sandbox Code Playgroud)

c++ constructor reference

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

调用'min(uint8_t&,int)'没有匹配函数

我正在尝试用gcc 编译一些c ++ i2cdevlib代码,我收到错误:

/usr/share/arduino/libraries/i2cdevlib/Arduino/MPU9150/MPU9150_9Axis_MotionApps41.h: In member function 'uint8_t MPU9150::dmpInitialize()':
/usr/share/arduino/libraries/i2cdevlib/Arduino/MPU9150/MPU9150_9Axis_MotionApps41.h:605:56: error: no matching function for call to 'min(uint8_t&, int)'
             getFIFOBytes(fifoBuffer, min(fifoCount, 128)); // safeguard only 128 bytes
                                                        ^
Run Code Online (Sandbox Code Playgroud)

为什么没有min(uint8_t&, int)定义?这不是标准的数学函数吗?

我是否正确地假设我在某处遗漏了包含或名称空间声明,并且不应该自己定义此函数?

c++

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

如何使Python字符串版本无关

你如何使Python字符串与他们使用的Python版本无关?

我正在尝试维护适用于Python 2.7和Python 3*的代码,并且我遇到了许多反直觉错误.例如,这在Python 2.7中完美运行:

print('Job: %s' % job)
Run Code Online (Sandbox Code Playgroud)

但它在Python 3.3中失败并出现错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 27: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

如果我将该行更改为:

print(('Job: %s' % job).encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

修复它在Python 3.3 ...但它打破了Python 2.7,现在抛出完全相同的错误.

尝试在Python中管理字符串感觉就像玩傻瓜一样.你如何可靠地编码字符串,以便它们适用于所有版本的Python?

python string unicode python-2.7 python-3.x

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

如何输出Django Admin生成的SQL

如何输出Django管理员正在生成的SQL来查询dhangelist页面的结果?我尝试queryset()通过以下方法覆盖:

def queryset(self, *args, **kwargs):
    qs = super(MyAdmin, self).queryset(*args, **kwargs)
    print 'sql:',qs.query
    return qs
Run Code Online (Sandbox Code Playgroud)

但是即使我正在浏览/admin/myapp/mymodel/?segment=123&date=2012-1-1,这也会显示查询:

sql: SELECT myapp_mymodel.id, myapp_mymodel.segment, myapp_mymodel.start_date
FROM myapp_mymodel ORDER BY myapp_mymodel.start_date ASC
Run Code Online (Sandbox Code Playgroud)

请注意,完全没有我在URL中指定的任何过滤器。

我正在尝试调试一个奇怪的问题,即如果我手动查询SQL中的表,会看到一个结果,但是Django的管理员显示的是完全不同的东西。我怀疑Django中有一个错误会导致生成错误的SQL,但是我需要查看SQL来确认这是问题所在。

我正在使用Django 1.5。

python django django-orm

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