Как добавить несколько входов из одного поля в модели Django - PullRequest
0 голосов
/ 01 мая 2019

У меня есть этот файл models.py, в котором я хочу получить несколько значений / файлов из одного поля, не создавая другую таблицу только для изображений.

В настоящее время я просто повторяю эти поля

class contentimage(models.Model):
content = models.ForeignKey(element, on_delete=models.CASCADE)
title = models.CharField(max_length=200)

titleimg1 = models.CharField(max_length=200)
image1 = models.ImageField(blank=True, upload_to='media/')
img1description = models.TextField()

titleimg2 = models.CharField(max_length=200)
image2 = models.ImageField(blank=True, upload_to='media/')
img2description = models.TextField()

titleimg3 = models.CharField(max_length=200)
image3 = models.ImageField(blank=True, upload_to='media/')
img3description = models.TextField()

titleimg4 = models.CharField(max_length=200)
image4 = models.ImageField(blank=True, upload_to='media/')
img4description = models.TextField()

titleimg5 = models.CharField(max_length=200)
image5 = models.ImageField(blank=True, upload_to='media/')
img5description = models.TextField()

Оптимальным выводом будет поле ввода в django admin, где знак плюс может добавлять несколько изображений Было бы очень полезно, если бы кто-то мог просто направить меня в правильном направлении.

1 Ответ

0 голосов
/ 03 мая 2019

Сделать изображения в Inlines. Сначала дайте им свой класс модели:

class Image(models.Model):
    content = models.ForeignKey(contentimage, on_delete=PROTECT). # this is what connect the two models
    title = models.CharField(max_length=200)
    image = models.ImageField(blank=True, upload_to='media/')
    description = models.TextField()

Тогда зарегистрируйте класс в админке:

class ImageInlineAdmin(admin.InlineModelAdmin):
    extra = 0
    model = Image

А затем зарегистрируйте inline в вашем администраторе контента строкой:

inlines = [ImageInlineAdmin]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...