Django - values_list CSV
Django - values_list CSV
我正在尝试导出 CSV in Django
并使用 values_list
到我想要导出的 select 字段。
My First Try
class ExportCSV(APIView):
def get(self, request, *args, **kwargs):
incidents = Incident.objects.filter(
interview_date__range=(start, end),
partner__twg=self.request.query_params.get("twg"),
)
for incident in incidents:
writer.writerow(
[
incident.incidenttwg1.getchild.values_list( # <-- This line
"choice", flat=True
)
]
)
我明白了。 <QuerySet ['Hello', 'Gudbye']>
,所以我决定创建 loop
来获取 Hello and Gudbye
。
Here my second Try
class ExportCSV(APIView):
def getincident(self, request, incident): # Create a function
for incident in incident.incidenttwg1.getchild.values_list("choice", flat=True):
return incident
def get(self, request, *args, **kwargs):
incidents = Incident.objects.filter(
interview_date__range=(start, end),
partner__twg=self.request.query_params.get("twg"),
)
for incident in incidents:
writer.writerow([self.getincident(request, incident)]) # Call function
我创建了一个 getincident
函数使其 cleanable
可以阅读。
我得到的是Hello
,它应该是Hello
和Gudbye
,而不仅仅是Hello
。
有帮助吗??谢谢....
我猜你正在使用函数 getincident
?
由于 return
语句位置,您只能获得第一个值。
def getincident(self, request, incident): # Create a function
return [incident for incident in incident.incidenttwg1.getchild.values_list('choice', flat=True)]
这应该会在列表中为您提供所有值。
我正在尝试导出 CSV in Django
并使用 values_list
到我想要导出的 select 字段。
My First Try
class ExportCSV(APIView):
def get(self, request, *args, **kwargs):
incidents = Incident.objects.filter(
interview_date__range=(start, end),
partner__twg=self.request.query_params.get("twg"),
)
for incident in incidents:
writer.writerow(
[
incident.incidenttwg1.getchild.values_list( # <-- This line
"choice", flat=True
)
]
)
我明白了。 <QuerySet ['Hello', 'Gudbye']>
,所以我决定创建 loop
来获取 Hello and Gudbye
。
Here my second Try
class ExportCSV(APIView):
def getincident(self, request, incident): # Create a function
for incident in incident.incidenttwg1.getchild.values_list("choice", flat=True):
return incident
def get(self, request, *args, **kwargs):
incidents = Incident.objects.filter(
interview_date__range=(start, end),
partner__twg=self.request.query_params.get("twg"),
)
for incident in incidents:
writer.writerow([self.getincident(request, incident)]) # Call function
我创建了一个 getincident
函数使其 cleanable
可以阅读。
我得到的是Hello
,它应该是Hello
和Gudbye
,而不仅仅是Hello
。
有帮助吗??谢谢....
我猜你正在使用函数 getincident
?
由于 return
语句位置,您只能获得第一个值。
def getincident(self, request, incident): # Create a function
return [incident for incident in incident.incidenttwg1.getchild.values_list('choice', flat=True)]
这应该会在列表中为您提供所有值。