Вывод размера прикрепленного файла
Есть необходимость выводить размер прикрепленного файла.
Решил так
- class Documents(models.Model):
- title = models.CharField(max_length=50, db_index=True, verbose_name='Наименование документа')
- docs_descriptions = models.CharField(max_length=255, blank=True, verbose_name='Краткое описание документа')
- category = models.ForeignKey(CategoryDocuments, on_delete=models.PROTECT, verbose_name='Категория документов')
- image = models.ImageField(blank=True, upload_to=get_timestamp_path, verbose_name='Изображение записи')
- file_doc = models.FileField(upload_to='files/', blank=True, verbose_name='Прикрепленный файл')
- uploaded_at = models.DateTimeField(auto_now_add=True, verbose_name='Дата загрузки файла')
- create_at = models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Дата создания')
- update_at = models.DateTimeField(auto_now=True, db_index=True, verbose_name='Дата изменения')
- def delete(self, *args, **kwargs):
- for ai in self.additionalimage_set.all():
- ai.delete()
- super().delete(*args, **kwargs)
- def __str__(self):
- return self.title
- @property
- def filesize(self):
- x = self.file_doc.size
- y = 512000
- if x < y:
- value = round(x / 1000, 2)
- ext = ' Кб'
- elif x < y * 1000:
- value = round(x / 1000000, 2)
- ext = ' Мб'
- else:
- value = round(x / 1000000000, 2)
- ext = ' Гб'
- return str(value) + ext
- class Meta:
- verbose_name = 'Документ'
- verbose_name_plural = 'Документы'
Вопрос можно ли решить более куртуазно что-ли
2
100
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
У меня для округлённых значений вот такой код есть
Но не для размера файла конечно, а просто для сокращения на 1000. Но может вам это поможет более красиво переписать свой код.