У меня есть модель, которая включает текстовое поле и поле файла. Пользователь может либо загрузить файл csv, либо текст, который я должен проанализировать в csv и сохранить в поле файла. Это выглядит примерно так:
class UserUpload(models.Model):
......
......
filefield = file_uploaded = models.FileField(upload_to='media/', validators=
FileExtensionValidator(allowed_extensions=['csv'])], blank=True, null=True)
datafield = models.TextField(blank=True, null=True)
В сериализаторе
import csv
class UserUploadSerializer(serializers.ModelSerializer):
.....
def csv_parser(self, datastream):
with open('test,csv', 'w') as csv_file:
data_writer = csv.write(csv_file)
for x in datastream:
data_writer.writerow(x)
return csv_file
def create(self, validated_data):
if 'datafield' in validated_data:
output_file = self.csv_parser(validated_data['data_uploaded'].split(", "))
return UserUpload.objects.create(filefield=output_file, **validated_data)
else:
return UserUpload.objects.create(**validated_data)
При работе с этим logi c я всегда получаю сообщение об ошибке: Я подумал, что это может быть связано с классом Django FileContent, но когда я попробовал это, ничего не вышло. Любая помощь в том, как я могу это понять?