Как получить MIME-тип поля FileField в DRF и отправить в параметры?
Надеюсь, у всех все хорошо.
Я хочу отправить mime type поля FileField в drf. но не знаю как...
{
"id": 1,
"document": "http://127.0.0.1:8000/images/articles_auth_with_user_eZUJmTW.png",
"filesize": "239.55 KB",
"filename": "articles_auth_with_user_eZUJmTW.png"
"mimetype": ""
},
Это ответ, который я отправляю. Я хочу отправить сюда тип mime...
class DocumentModel(models.Model):
id=models.AutoField(primary_key=True, auto_created=True, verbose_name="DOCUMENT_ID")
document=models.FileField()
class Meta:
verbose_name_plural="Documents"
ordering=["document"]
def __str__(self):
return f'{self.document}'
@property
def filesize(self):
x = self.document.size
y = 512000
if x < y:
value = round(x / 1024, 2)
ext = ' KB'
elif x < y * 1024:
value = round(x / (1024 * 1024), 2)
ext = ' MB'
else:
value = round(x / (1024 * 1024 * 1024), 2)
ext = ' GB'
return str(value) + ext
@property
def filename(self):
return self.document.name
Выше представлен файл моих моделей
class DocumentSerializer(serializers.ModelSerializer):
class Meta:
model=DocumentModel
fields = ['id', 'document', 'filesize', 'filename']
Это код сериализатора. Пожалуйста, помогите...
Ок я решил и наконец-то получил mime тип любого файла, когда он загружается, чтобы вывести его на frontend с помощью библиотеки mimetypes
@property
def mimetype(self):
return mimetypes.guess_type(self.document.url)[0]