yeti blue
yeti blue

Reputation: 271

Django Models How To Upload Multiple Files For One Field

I'm looking to upload multiple images from my front-end form (VueJS) to my 'photos' field. However, even with my foreign key, I can only link one image at a time. (I tried ArrayField too, but didn't work)

I know with Django forms.Form there's a widget option for 'attr multiple = True', but I can't seem to find a solution for models.

class Photos(models.Model):
    photos = models.ImageField(upload_to='uploads/',
                               null=True, default="")

class Actors(models.Model):

    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.PROTECT, default="")
    Writing_Samples = models.FileField(upload_to='uploads/',
                                       null=True, default="no samples")
    photos = ForeignKey(
        Photos, on_delete=models.CASCADE, default="", null=True)

    gallery = ArrayField(
        models.CharField(max_length=100), blank=True, default="")

   

Thanks for your time!

Upvotes: 1

Views: 301

Answers (1)

Michael Lindsay
Michael Lindsay

Reputation: 1355

To create multiple Photo instances for a single Actor instance, add the ForeignKey from the photo(s) to the actor.

class Actors(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, default="")
    Writing_Samples = models.FileField(upload_to='uploads/', null=True, default="no samples")

class Photos(models.Model):
    photo = models.ImageField(upload_to='uploads/', null=True, default="")
    actor = models.ForeignKey(Actors, on_delete=models.CASCADE, default="", null=True)

Upvotes: 1

Related Questions