Несколько файлов в модели одного поля Django

Я делаю сайт, в котором пользователь загружает pdf и обратно на сайт мы генерируем аудио файл для каждой страницы и теперь мы хотим сохранить его в базе данных (mysql). Теперь начинается проблема, у нас есть модель в django и модель имеет поля, которые предназначены для одного ввода. например

class Info(models.Model):
    phone_img = models.ImageField(upload_to='pics')
    Name = models.CharField(max_length=70)
    RAM = models.IntegerField(default= None)
    ROM = models.IntegerField(default= None)
    Cost = models.IntegerField(default= None)
    Link = models.URLField(max_length=250)

Теперь, если мы используем models.FileField(upload_to='files'), то он будет загружать файлы в папку files, но у меня есть несколько файлов, тогда как загрузить эти файлы, потому что мы не можем создать поля для этого, и если мы создадим поля для этого, то не будет исправлено, что пользователь загрузил pdf с таким же количеством страниц, как у нас есть поля.

Создайте другую модель "PhoneIMG" с внешним ключом к "Info". Затем вы можете иметь столько файлов, сколько хотите, которые связаны с моделью "Info".

Вам нужно создать другую модель для хранения этих файлов и связать эту модель с вашей моделью Infor как поле ManyToMany. например

class UploadFile(models.Model):
    phone_img = models.ImageField(upload_to='/location')
    
    def __str__(self):
        return self.id

и затем свяжите модель с вашей моделью Info следующим образом

class Info(models.Model):
    phone_img = models.ManyToManyField(UploadFile)
    Name = models.CharField(max_length=70)
    RAM = models.IntegerField(default= None)
    ROM = models.IntegerField(default= None)
    Cost = models.IntegerField(default= None)
    Link = models.URLField(max_length=250)

для получения дополнительной информации посетите официальную документацию

Вернуться на верх