Pessoal, já tentei de tudo, ou quase tudo para fazer upload de vários arquivos no django, basicamente eu quero relacionar um conjunto de imagens a um único objeto, se alguém souber como resolver isso será de grande ajuda, segue o que eu tenho ate agora, neste caso eu uso a biblioteca MultiuploadField, mas se alguém tiver uma sugestão melhor eu aceito:
#Model
class Anuncio(models.Model):
titulo = models.CharField(max_length=30)
valor = models.FloatField(null=True, blank=True)
descricao = models.TextField()
imagem = models.FileField(null=True, blank=True)
class Anexo(models.Model):
anuncio = ForeignKey(Anuncio, verbose_name=_('Anuncio'), null=True)
file = models.FileField(upload_to='imagens')
#Form
class FormClassificado(forms.ModelForm):
class Meta:
model = Anuncio
fields = ['titulo',
'valor',
'descricao',]
def save(self, commit=True):
instance = super(FormClassificado, self).save(commit)
for each in self.cleaned_data['files']:
Attachment.objects.create(file=each, anuncio=instance)
Pergunta
Rondy Brandao
Pessoal, já tentei de tudo, ou quase tudo para fazer upload de vários arquivos no django, basicamente eu quero relacionar um conjunto de imagens a um único objeto, se alguém souber como resolver isso será de grande ajuda, segue o que eu tenho ate agora, neste caso eu uso a biblioteca MultiuploadField, mas se alguém tiver uma sugestão melhor eu aceito:
#Model
class Anuncio(models.Model):
titulo = models.CharField(max_length=30)
valor = models.FloatField(null=True, blank=True)
descricao = models.TextField()
imagem = models.FileField(null=True, blank=True)
class Anexo(models.Model):
anuncio = ForeignKey(Anuncio, verbose_name=_('Anuncio'), null=True)
file = models.FileField(upload_to='imagens')
#Form
class FormClassificado(forms.ModelForm):
class Meta:
model = Anuncio
fields = ['titulo',
'valor',
'descricao',]
files = MultiFileField(min_num=1, max_num=3, max_file_size=1024*1024*5)
def save(self, commit=True):
instance = super(FormClassificado, self).save(commit)
for each in self.cleaned_data['files']:
Attachment.objects.create(file=each, anuncio=instance)
return instance
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.