模型字段的Url参数

2024-09-30 04:30:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个视图,它接受一个参数并基于查询集返回一个csv文件:

def rfidi_list(request, id=None):
    if id == None:
        raise Http404

    rfid_list = Rfid.objects.filter(----).values_list('rfid_st', flat=True)
    import csv

    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="rfidi_list.csv"'
    writer = csv.writer(response, delimiter=';')
    writer.writerow(rfid_list)

    return response


我有一个名为Rfid的模型,它有一个布尔字段,名为:vrata1vrata2vrata3

我想根据url中的id过滤queryset。如果id是1,我将返回vrata1=True的对象,如果它是2,我将获得vrata2=True的对象的qs

谢谢


Tags: csv对象none视图idtrue参数response
2条回答

可以通过以下方式创建查找筛选器:

rfid_list = Rfid.objects.filter(
    **{
        '{}{}'.format('vrata', id): True
      }
).values_list('rfid_st',flat=True)

concat'vrata'和ID,然后将语法转换为django ORM

我想出来了。如果有人想知道,我将id作为字符串传递,并将**kwargs添加到filter中。所以看起来像这样

string = 'vrata' + id

rfid_list = Rfid.objects.filter(**{ string : True}).values_list('rfid_st',flat=True)

相关问题 更多 >

    热门问题