小编Duš*_*ďar的帖子

如何在招摇中传递多值查询参数

我在swagger.yml中有以下服务。编写服务是为了可以多次传递page_id。例如/pages?page_id[]=123&page_id[]=542

我检查了此链接https://swagger.io/specification/,但无法理解如何更新yml,以便可以多次传递id。

我看到我必须设置collectionFormat但不知道如何。

我尝试像下面一样更新它,但没有运气https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md

它生成的URL,如“ HTTP://本地主机:0000 /页PAGE_ID = 123%2C%20542 `

 '/pages':
    get:
      tags:
        - 
      summary: get the list of pages
      operationId: getPages
      produces:
        - application/json
      parameters:
        - name: page_id
          in: query
          description: some description
          required: false
          type: string
          collectionFormat: multi
        - name: page_detail
          in: query
          description: some description
          required: false
          type: string
      responses:
        '200':
          description: OK
        '401':
          description: Authentication Failed
        '404':
          description: Not Found
        '503':
          description: Service Not Available
Run Code Online (Sandbox Code Playgroud)

ruby swagger

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

通过 Django REST API 删除对象

我正在尝试使用 Django REST API 删除“Product”对象,但不知道如何执行此操作。

序列化器:

class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = ('id', 'product_name', 'measure', 'barcode')
Run Code Online (Sandbox Code Playgroud)

我可以使用此功能创建产品

def create_product(request):
    data = request.POST
    serializer = ProductSerializer(data=data)
    if serializer.is_valid():
        serializer.save()
Run Code Online (Sandbox Code Playgroud)

但不知道怎么删除

没有 serializer.delete() 方法。

python django rest json django-rest-framework

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

Django & mypy:ValuesQuerySet 类型提示

对于返回如下查询集的函数使用什么类型的提示?

def _get_cars_for_validation(filter_: dict) -> QuerySet:
    return (
        Car.objects.filter(**filter_)
        .values("id", "brand", "engine")
        .order_by("id")
    )
Run Code Online (Sandbox Code Playgroud)

mypy 返回错误

不兼容的返回值类型(得到“ValuesQuerySet[Car, TypedDict({'id': int,'brand': str,'engine': str})]”,预期为“QuerySet[Any]”)

我会使用,ValuesQuerySet它已在 Django 1.9 中删除ValuesQuerySet报告mypy来自3rd 方库django-stubs(我无法导入它;这实际上可能吗?)。

python django stub mypy

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

Mailjet:删除联系人

是否可以从mailjet 中实际删除a ?contact

他们的联系 API 文档甚至没有delete列为受支持的操作。

from mailjet_rest import Client

mailjet = Client(auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3')
mailjet.contact.delete(<contact-id>).json()
{'ErrorInfo': '', 'ErrorMessage': 'Operation not allowed', 'StatusCode': 401}
Run Code Online (Sandbox Code Playgroud)

我有兴趣删除 a contact,而不是 a list recipient,因此这个问题不是如何使用mailjet api和php从列表中删除联系人的重复.

python api mailjet

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

Django 和 Postgres - 百分位数(中位数)和分组依据

我需要计算每个卖家 ID 的期间中位数(请参阅下面的简单模型)。问题是我无法构建 ORM 查询。

模型

class MyModel:
    period = models.IntegerField(null=True, default=None)
    seller_ids = ArrayField(models.IntegerField(), default=list)
    aux = JSONField(default=dict)
Run Code Online (Sandbox Code Playgroud)

询问

queryset = (
    MyModel.objects.filter(period=25)
    .annotate(seller_id=Func(F("seller_ids"), function="unnest"))
    .values("seller_id")
    .annotate(
        duration=Cast(KeyTextTransform("duration", "aux"), IntegerField()),
        median=Func(
            F("duration"),
            function="percentile_cont",
            template="%(function)s(0.5) WITHIN GROUP (ORDER BY %(expressions)s)",
        ),
    )
    .values("median", "seller_id")
)
Run Code Online (Sandbox Code Playgroud)

ArrayField聚合( seller_id)源码


我认为我需要做的是以下几行

select t.*, p_25, p_75
from t join
     (select district,
             percentile_cont(0.25) within group (order by sales) as p_25,
             percentile_cont(0.75) within group (order by sales) as p_75
      from t
      group by …
Run Code Online (Sandbox Code Playgroud)

python django postgresql statistics subquery

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

(flask) python - mysql - 在带有来自 URL 的变量的选择查询中使用 where 子句

@app.route('/select/<username>')
def select(username):

    db = MySQLdb.connect("localhost","myusername","mypassword","mydbname" )

    cursor = db.cursor()

    cursor.execute("SELECT * FROM p_shahr")

    data = cursor.fetchall()

    db.close()

    return render_template('select.html', data=data)
Run Code Online (Sandbox Code Playgroud)

我想编辑此脚本中的选择查询,以便

SELECT * FROm p_shahr WHERE os = username
Run Code Online (Sandbox Code Playgroud)

我应该如何编辑查询以包含上面的where 子句以设置osusername来自 URL?

python mysql select flask

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

Django:根据注释获取重复项

我想根据不区分大小写的字段值获取所有重复项。

基本上重写这个SQL查询

SELECT count(*), lower(name)
FROM manufacturer
GROUP BY lower(name)
HAVING count(*) > 1;
Run Code Online (Sandbox Code Playgroud)

使用 Django ORM。我希望这样的事情可以解决问题

from django.db.models import Count
from django.db.models.functions import Lower

from myapp.models import Manufacturer


qs = Manufacturer.objects.annotate(
    name_lower=Lower('name'),
    cnt=Count('name_lower')
).filter('cnt__gt'=1)
Run Code Online (Sandbox Code Playgroud)

但当然它没有用。

知道如何做到这一点吗?

python django duplicates django-annotate

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

SQL - 多个表与一个大表

我想将多个SQLite文件移动到PostgreSQL.

这些文件中包含的数据是每月 time-series(单个*.sqlite文件中的一个月).每个都有大约300,000行.这些文件中有20多个.

我的困境是如何组织新数据库中的数据:

a)将其保存在多个表中

b)将其合并到一个巨大的表中,其中新列描述时间段(例如04.2016,05.2016,...)

该数据库仅用于从中提取数据(除了为新月添加数据).

我担心的是,select来自多个表(join)的数据不能很好地执行,并且查询会变得非常复杂.

我应该选择哪种结构 - 一张大桌子还是多张小桌子?

sql database time-series

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

使用 DRF 缓存视图集:TypeError: _wrapped_view()

我只想对 ViewSet 使用缓存太慢:(,使用 Django REST 框架。

我这样做了:

...
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
from django.views.decorators.vary import vary_on_cookie
...
class PRPKViewSet(viewsets.ModelViewSet):
    serializer_class = PrpkSerializer
    queryset = Prpk.objects.all().order_by('begin')
    # Authentification !
    permission_classes = (IsAuthenticated,)
    # Only 'get' method
    http_method_names = ['get']

    # Cache requested url for each user for 2 hours
    # @method_decorator(vary_on_cookie)
    @method_decorator(cache_page(60*2))
    def get_queryset(self):
        """ allow rest api to filter by submissions """
        queryset = Prpk.objects.all().order_by('begin')
        highway = self.request.query_params.get('highway', None)
        if highway is not None:
            queryset = …
Run Code Online (Sandbox Code Playgroud)

django memcached caching django-rest-framework

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

Selenium Code在本地工作,但不在PythonAnywhere上工作

我有一个在我的系统上运行的webscraper,我想将它迁移到PythonAnywhere,但是当我移动它现在它不起作用.

恰好sendkeys似乎不起作用 - 在执行以下代码后,我从未进入下一个网页,因此属性错误会被触发.

我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import csv
import time



# Lists for functions
parcel_link =[]
token = []
csv_output = [ ]

# main scraping function
def getLinks(link):


# Open web browser and get url - 3 second time delay.

#Open web browser and get url - 3 second time delay.
driver.get(link)
time.sleep(3)

inputElement …
Run Code Online (Sandbox Code Playgroud)

python selenium beautifulsoup pythonanywhere

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