小编pri*_*moz的帖子

Django ArrayField null =使用Postgresql进行真正的迁移

所以在用于在Postgresql上创建新字段的Django文档中它说(完整描述):

...建议您始终使用创建新列null=True,这样它们将立即添加.

如果我想创建一个ArrayField,如下所示:

tags = ArrayField(models.CharField(max_length=255, blank=True, default=''), default=list, null=True)
Run Code Online (Sandbox Code Playgroud)

我也应该null=True进入CharField哪个内部ArrayField

python django postgresql

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

OpenCV在IPython Notebook中的waitKey()替代方案

我正试图在我的Jupiter笔记本中显示带有cv2库的图像,cv2.imshow(img)并且它按预期显示,但我不能使用或不知道如何使用cv2.waitKey(0),因此单元格不会停止执行.

cv2.waitKey(0) 适用于脚本,但不适用于Notebook.

这是一个片段:

cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

如何在不重新启动整个内核的情况下停止执行单元格?

python opencv ipython-notebook

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

使用 Django Rest Framework 按多个 django-taggit 标签进行过滤

默认情况SearchFilter下仅允许我们在所有提供的术语都匹配的情况下进行过滤(在我的例子中是标签)。

class MyModelViewSet(viewsets.ReadOnlyModelViewSet):
    filter_backends = (filters.SearchFilter, )
    search_fields = ('tags__name',)
    serializer_class = MyModelSerializer
    model = MyModel
    queryset = MyModel.objects.all()
Run Code Online (Sandbox Code Playgroud)

然后进行过滤:

http://localhost:8000/api/v1/objects/?search=tag1,tag2
Run Code Online (Sandbox Code Playgroud)

通过上面的 URL,我仅在对象上存在所有标签时才获取对象。

我是否有机会制作此过滤器以允许我过滤所提供的任何标签是否匹配?

python tags django django-taggit django-rest-framework

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

在Postgresql中将记录数组转换为JSON

我在使用Postgresql将记录数组转换为JSON时遇到问题。

版本: psql(PostgreSQL)9.5.3

当前查询:

SELECT c.id, (select array(
        select (cp.id,cp.position)
        from contactposition cp
        where cp.contact_id_id = c.id  -- join on the two tables
        )
      ) as contactpositions
from contacts c;
Run Code Online (Sandbox Code Playgroud)

表中的联系人contacts可以从表中分配许多职位contactposition

结果是这样的:

| id (integer) | contactpositions (record[])                                          |
|--------------|----------------------------------------------------------------------|
| 5            | {"(21171326,\"Software Developer\")","(21171325,Contractor)" (...)"} |
Run Code Online (Sandbox Code Playgroud)

但是我希望它是这样的:

| id (integer) | contactpositions (record[])                                          |
|--------------|----------------------------------------------------------------------|
| 5            | [{"id": 21171326, "position": "Software Developer", "id": 21171325, "position": "Contractor", (...)] |
Run Code Online (Sandbox Code Playgroud)

我知道一些辅助功能,例如array_to_json,但是我无法使其正常工作。

我试过了:

SELECT c.id, …
Run Code Online (Sandbox Code Playgroud)

python sql postgresql json jsonb

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

应用过滤器后端覆盖ModelViewSet的queryset

是否有可能考虑到MyModelViewSetfilter_backends创建自定义的查询集什么时候?

class MyModelViewSet(viewsets.ModelViewSet):
    filter_backends = (CustomFilter, )
    serializer_class = MySerializer

    def get_queryset(self):
        # It should not return all objects, but only results from `CustomFilter`
        queryset = LedgerEntry.objects.all()
        # some extra filtering
        return queryset
Run Code Online (Sandbox Code Playgroud)

我应该如何实施呢?

的Django:1.10

Django Rest框架:3.4.6

python django python-3.x django-rest-framework

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