小编Jac*_*icz的帖子

Django Admin过滤外键属性

我想通过外键的属性在管理员更改列表中添加过滤器,例如

class Address(model.Models):
    street = models.CharField(max_length=25)        
    city = models.CharField(max_length=25)
    country = models.CharField(max_length=25)        

class Customer(models.Model):
    name = models.CharField(max_length=25)
    address = models.ForeignKey(Address)
Run Code Online (Sandbox Code Playgroud)

假设在客户管理员更改列表中,我想按城市和国家/地区显示过滤器(因此,请向我显示特定国家/地区或城市的所有客户).

但标准的list_filter()功能似乎只允许直接在模型上按字段过滤,而不允许在任何外键上过滤.我试过了:

list_filter = ("address__country",)
Run Code Online (Sandbox Code Playgroud)

要么

list_filter = ("address.country",)
Run Code Online (Sandbox Code Playgroud)

但我总是得到相同类型的错误:

 'address__country' is not a callable or an attribute 
Run Code Online (Sandbox Code Playgroud)

欢迎大家提出意见.是否有一些特殊的命名约定/语法允许过滤FK属性?

python django admin filter

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

如何使用不同版本的Python运行Python鼻子测试

我们有CentOS和古老的Python 2.4解释器.

但我们想用更新的2.5/2.6语法编写测试.

假设我们安装了第二个Python解释器(例如python2.6)有没有办法运行'nosetests'hell命令并告诉它使用特定的python解释器而不是默认的?

python unit-testing centos nose

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

如何通过杰克逊传递原始JSON?

我们在Apache CXF和Jackson之上运行了一整套JAX-RS REST服务.我们使用JAXB注释来处理将POJO编组为JSON,效果很好.

但是,我们有一两个地方要返回原始JSON字符串(我们从Redis缓存中获取).

杰克逊总是将字符串用双引号括起来,并将其中的所有双引号都删掉,例如

@GET @Produces("application/json")
public Response getData() {

    String json = ...get from Redis...
    return Response.ok(json,"application/json").build() 
}
Run Code Online (Sandbox Code Playgroud)

给我们

"{\"test\":1}"
Run Code Online (Sandbox Code Playgroud)

代替

{"test":1}
Run Code Online (Sandbox Code Playgroud)

我尝试过多种方法,将RawSerializer(String.class)添加到Object映射器中,没有任何效果.唯一有效的是,如果我将媒体类型设置为普通字符串,绕过杰克逊,但是不好,因为我返回了错误的内容类型

return Response.ok(json,"text/plain").build() 
Run Code Online (Sandbox Code Playgroud)

工作,但很差(错误的内容类型,这搞砸了.Net WCF应用程序打电话给我们)

java json cxf jax-rs jackson

13
推荐指数
2
解决办法
6716
查看次数

如何在Cassandra Java Driver QueryBuilder中传递TTL?

我正在使用Cassandra Java驱动程序中的QueryBuilder来插入一些数据.

似乎没有简单的选项来设置我插入的行上的TTL.DataStax网站上的所有示例都没有显示TTL的示例.

我怀疑它与使用()有关,但再一次,代码中没有示例和最少的文档......

java insert ttl cassandra datastax

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

PostgreSQL hstore数组列的索引

我知道你可以在hstore列的字段上创建索引.我知道你也可以在数组列上创建一个GIN索引.

但是在hstore数组上创建索引的语法是什么?

例如

CREATE TABLE customer (
    pk serial PRIMARY KEY,
    customer hstore,
    customer_purchases hstore[]
);
Run Code Online (Sandbox Code Playgroud)

假设客户购买hstore可能是哈希

productId -> 1
price -> 9.99
Run Code Online (Sandbox Code Playgroud)

我在customer_purchases hstore []中有一组数组

我想在customer.customer_purchases [] - > productId上创建一个索引

这可能吗?我尝试过不同的CREATE INDEX语法组合,但它们似乎都不支持hstore数组中的索引字段.

postgresql indexing hstore

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

systemd可以自动重启/停止依赖服务吗?

出于性能原因,我需要运行应用程序的多个实例,固定到CPU,监听不同的端口.HAProxy TCP负载均衡器位于它们前面以分配流量.

这样做是为了防止任何线程上下文切换并强制执行无共享设计(因此在应用程序中不需要任何类型的锁,假设它是单线程的).

这意味着在具有64个CPU的服务器上,我可能将HAProxy固定到CPU 0,然后将我的应用程序的63个实例分别固定到单独的CPU(1-63).

显然,在启动,重启,关闭等方面进行管理非常复杂.

我想知道是否有任何方法可以使用systemd为我处理这种复杂性.

我知道,如果我将HAProxy定义为一个单元然后声明它需要与之交谈的其他应用程序,它可以解决启动问题,例如

Require=app1,app2,.....,app63
Run Code Online (Sandbox Code Playgroud)

我可以

 systemctl start myhaproxy
Run Code Online (Sandbox Code Playgroud)

它首先会启动它需要的63个实例(假设它们在应用程序安装期间被定义为一个单独的系统单元).

但是,我想知道是否还有我可以让它也适用于重启和关机.

所以,如果我这样做:

systemctl stop myhaproxy
Run Code Online (Sandbox Code Playgroud)

我希望它自动关闭它所谈到的应用程序的所有63个实例.

如果我这样做

systemctl restart myhaproxy
Run Code Online (Sandbox Code Playgroud)

然后我希望它首先重新启动Require中列出的所有服务,然后再重新启动它自己.

那可能吗?或者这超出了systemd可以提供的范围?

linux multithreading real-time system-dependent systemd

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