Django queryset в CSV, строковое поле с кавычками
У меня есть функция, где я перевожу набор запросов в CSV, и у меня есть два строковых поля, поступающих из JSON, "media" и "brand", но когда я экспортирую его в CSV, я получаю результат media с кавычками, а поле brand без кавычек.
Я хочу удалить эти кавычки, не разбирая CSV из-за производительности
.
Вот процесс, который я делаю:
from django.db import connection
from django.db.models.functions import Cast
# Get queryset
fields = {
"Media:: Cast("event__media_name", output_field=CharField()),
"Brand": Cast("event__brand_name", output_field=CharField()),
}
queryset = (
base_queryset.order_by("id")
.annotate(**fields)
.values(*fields.keys())
)
# Create CSV file
filename = "filename.csv"
path = f"reports/{filename}"
folder = tempfile.mkdtemp()
temp_path = os.path.join(folder, filename)
# Copy values into CSV
sql, params = queryset.query.sql_with_params()
sql = f"COPY ({sql}) TO STDOUT WITH (FORMAT CSV, HEADER, DELIMITER ',')"
with connection.cursor() as cur:
sql = cur.mogrify(sql, params)
cur.copy_expert(sql, file)