@AliminVerckon

Как правильно записать код?

class VideoDoc(models.Model):
	name_video = models.CharField("Название", max_length=150, null=True, blank=True)
	poster = models.ImageField("изображение", upload_to = 'product/videos/posters/', null=True, blank=True)
	video = models.FileField("Видео", upload_to = "product/videos/", null=True, blank=True)
	name_doc = models.CharField("Название", max_length=150, null=True, blank=True)
	files = models.FileField("Документы", upload_to = "product/documents/", null=True, blank=True)
	video_accept = models.BooleanField("Это видео")
	doc_accept = models.BooleanField("Это документ")
	doc_format = models.ForeignKey(Format, verbose_name='Формат файла', on_delete=models.DO_NOTHING)

	"""function for demo visit"""
	pdf = VideoDoc()

	def demo():
		filename, file_extension = os.path.splitext(pdf.files)
		if file_extension == ".docx":
			pass
		elif file_extension == ".pdf":
			images = convert_from_path(pdf.files, fmt="png")
		else:
			pass
		return images

	class Demo(models.Model):
		demo_img = models.ImageField("Демо изображение", upload_to="product/documents/demo/", default=demo())

		def __str__(self):
			return f'{self.demo_img} - {self.VideoDoc().name_doc}'

		class Meta:
			verbose_name = 'Демо просмотр'
			verbose_name_plural = "Демо просмотр"

	class Demo_docx(models.Model):
		demo_img = models.ImageField("Демо изображение", upload_to="product/documents/demo_doc/")

		def __str__(self):
			return f'{self.demo_img} - {self.VideoDoc().name_doc}'

		class Meta:
			verbose_name = 'Демо для док файлов'
			verbose_name_plural = "Демо для док файлов"
	demo_doc = models.ManyToManyField(Demo, verbose_name='Демо', null=True, blank=True)
	demoForDoc = models.ManyToManyField(Demo_docx, verbose_name="Демо для док файлов", null=True, blank=True)


	def __str__(self):
		return f'{self.name_video} - {self.name_doc}'

	class Meta:
		verbose_name = 'Видео и документ'
		verbose_name_plural = "Видео и документы"


Какой должен быть результат: При вводе файла в поле files файл должен быть передан в функцию demo и эта функция конвертирует файл в изображение и все эти изображения должны быть записаны в поле demo_img в классе Demo (Не путать с Demo_docx)
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы