小编Ran*_*han的帖子

Django swagger-如何从delete,put方法中禁用DjangoFilterBackend查询过滤器?

我创建了一个AssetsFilter类:

from django_filters import Filter
from django_filters import rest_framework as filters
from django_filters.fields import Lookup

from .models import Assets


class MyListFilter(Filter):
    def filter(self, qs, value):
        value_list = value.split(',')
        return super(ListFilter, self).filter(qs, Lookup(value_list, 'in'))


class AssetsFilter(filters.FilterSet):
    name = filters.CharFilter(lookup_expr='icontains', help_text=u'Filter by name')
    criticality = MyListFilter(name='critical', help_text=u'Filter by_id')

    class Meta:
        model = Assets
        fields = ['name', 'criticality ']
Run Code Online (Sandbox Code Playgroud)

现在我在我的Viewset中使用此过滤器,如下所示:

from .serializers import AssetSerializers
from .filters import AssetsFilter


class AssetViewSet(viewsets.ModelViewSet):
    """
    This viewset automatically provides `list`, `create`, `retrieve`,
    `update` and `destroy` …
Run Code Online (Sandbox Code Playgroud)

python django swagger django-rest-framework django-rest-swagger

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

带有(drf oidc)Django rest框架后端的Angular.js中基于OpenID Connect的身份验证

有没有办法为后端和前端编写逻辑?

在我当前的流程中,我们使用Django rest-framework登录,现在我们需要在项目中集成OpenID connect SSO,因此指导我如何将OpenID connect SSO与Django-rest框架集成。

是否有GitHub示例?我在寻找示例代码。

python angularjs django-rest-framework openid-connect

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

django.db.utils.OperationalError:无法更改表“ forum_thread”,因为它具有未决的触发事件

models.py

class Thread(models.Model):

    title = models.CharField(max_length=300)
    answer_count = models.PositiveIntegerField(default=0)
    added_at = models.DateTimeField(auto_now_add=True)
    accepted_answer = models.ForeignKey('forum.Post', null=True, blank=True, related_name='+')
Run Code Online (Sandbox Code Playgroud)

我正在尝试将Accepted_answer ForeignKey更改为BooleanField

例如:

accepted_answer = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

并获得迁移错误“待处理的触发事件错误”。请看一下。

django

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

如果名称:xxx 用 bash 替换 yaml 中的值

我想改变YAML文件value依据name

例子:

spec:
  containers:
    - name: app1
      image: imageurl.com
      command: []
      env:
      - name: MONGO_HOST
        value: localhost
Run Code Online (Sandbox Code Playgroud)

在这里您可以看到我们为 mongo 主机添加了一个环境。现在使用BASH我想MONGO_HOST value根据条件进行更改if - name: MONGO_HOST set value: 172.16.87.98

bash yaml yq

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

Elasticsearch DSL术语过滤器不适用于字符串字段

我正在尝试term使用elasticsearch_dslpython客户端应用过滤器弹性搜索索引数据,但不适用于字符串字段。

这是我的ES索引数据:

s = Search(using=es, index='idx_object', doc_type='ip').source(include=['id', 'status', 'username'])
Run Code Online (Sandbox Code Playgroud)

[{u'_score':1.0,u'_type':u'ip',u'_id':u'79',u'_source':{u'status':u'PUBLISHED',u'username': u'jackie @ example.com',u'id':79},u'_index':u'idx_object'},{u'_score':1.0,u'_type':u'ip',u'_id' :u'84',u'_source':{u'status':u'PUBLISHED',u'username':u'julia@example.com',u'id':84},u'_index':u 'idx_object'},{u'_score':1.0,u'_type':u'ip',u'_id':u'73',u'_source':{u'status':u'PUBLISHED',u '用户名':u'brad@example.com',u'id':73},u'_index':u'idx_object'},{u'_score':1.0,u'_type':u'ip',你_id':u'82',u'_source':{u'status':u'PUBLISHED',u'username':u'julia @ example.com',u'id':82},u'_index' :u'idx_object'},{u'_score':1.0,u'_type':u'ip',u'_id':u'65',u'_source':{u'status':u'PUBLISHED' ,u'用户名':u'george@example.com',u'id':65},u'_index':u'idx_object'},{u'_score':1.0,u'_type':u'ip ',u'_id':u'78',u'_source':{u'status':u'PUBLISHED',u'username':u'julia@example.com',u'id':78}, u'_index':u'idx_object'},{u'_score':1.0,u'_type':u'ip',u'_id':u'62',u'_source':{u'status':u'PUBLISHED',u'username':u'brad @ example.com',u'id':62},u'_index':u'idx_object'},{u'_score':1.0,u'_type' :u'ip',u'_id':u'96',u'_source':{u'status':u'PUBLISHED',u'username':u'brad@example.com',u'id' :96},u'_index':u'idx_object'},{u'_score':1.0,u'_type':u'ip',u'_id':u'70',u'_source':{u '状态':u'发布',u'用户名':u'brad@example.com',u'id':70},u'_index':u'idx_object'},{u'_score':1.0, u'_type':u'ip',u'_id':u'80',u'_source':{u'status':u'PUBLISHED',u'username':u'george @ example。com',u'id':80},u'_index':u'idx_object'}]

现在,如果我在id整数字段中应用了过滤器,则它可以正常工作。

s = Search(using=es, index='idx_object', doc_type='ip').source(include=['id', 'status', 'username']).filter("term", id=79)
Run Code Online (Sandbox Code Playgroud)

输出:

[{u'_score':0.0,u'_type':u'ip',u'_id':u'79',u'_source':{u'status':u'PUBLISHED',u'username': u'jackie @ example.com',u'id':79},u'_index':u'idx_object'}]

现在,如果我对用户名字符串字段应用过滤器,则无法正常工作:

s = Search(using=es, index='idx_object', doc_type='ip').source(include=['id', 'status', 'username']).filter("term", username='jackie@example.com')
Run Code Online (Sandbox Code Playgroud)

输出:

[]

django python-2.7 elasticsearch

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