如何使用Django上传多张图片?

时间:2020-09-11 13:35:05

标签: python django django-models django-rest-framework django-forms

我的模型中有以下代码。py

class MyModel(models.Model):
    my_images= models.ImageField(upload_to='image/')

我的forms.py是

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = "__all__"

并且在我的Views.py文件中包含以下代码

def myfunction(request):
    if request.method=='POST':
        form = MyForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponse('Data Inserted')
        else:
            return HttpResponse('form is invalid')

此代码将单个图像插入数据库和目录中。我想将多个图像添加到我的目录和数据库中。在这里,我正在制作API,所以我要从postman应用程序发送formdata(image)。
如何上传多张图片?

1 个答案:

答案 0 :(得分:0)

ImageField只能存储一张图像。如果需要上传多个图像,则应创建单独的ImageModel:

class MyModel(models.Model):
    pass

class ImageModel(models.Model):
    model_fk = models.ForeignKey(MyModel)
    img = models.ImageField(upload_to='image/', related_name='images')

将图像发送到列表中,然后在视图中读取该列表,并为每个图像创建ImageModel实例。