как сохранить несколько изображений в базе данных, выбрав несколько изображений из одного входного файла - PullRequest
0 голосов
/ 28 марта 2020

У меня есть модель

class Images(models.Model):
    schedule = models.ForeignKey(Schedule, default=None,on_delete=models.CASCADE)
    image = models.ImageField(default='jpt.png',upload_to='images/',null=True,blank=True)

Я хочу сохранить несколько изображений для одного расписания

, и я использовал ответ в качестве внешнего интерфейса, откуда я получаю список нескольких изображений, предположим, что я получил список изображений как var image_list = [... this.state.image] и в консоли я получил

image list is:
(2) […]
​
0: File { name: "Screenshot (70).png", lastModified: 1580296846904, size: 359266, … }
​
1: File { name: "Screenshot (71).png", lastModified: 1580296853318, size: 239091, … }

, затем я вызвал django api и передал только одно изображение, как показано ниже:

var formData = new FormData()
formData.append('image',this.state.image[0])
axios.post('http://127.0.0.1:8000/account/api/view_schedule',formData).then(res=>{
       console.log(res.data)
    }).catch(err=>{
        console.log('error message')
    })

таким образом я могу сохранить одно изображение в базе данных

Но моя проблема - сохранить несколько изображений в одном расписании

Я попытался передать список файлов и у меня есть django вид как показано ниже:

@api_view(['POST',])
def scheduleview(request):
    if request.method=='POST':
        sche = ScheduleSerializer(data=request.data,many=True)
        img = ImageSerializer(data = request.data,many=True)
        image = img.initial_data['image']

во время печати я получаю img serializer как

ImageSerializer(data=<QueryDict: {'title': ['df'], 'datetime_field_start': ['2020-3-28 16:36'], 'datetime_field_end': ['2020-3-28 16:36'], 'rj': ['1,2'], 'image': ['[object File],[object File]'], 'owner': ['1']}>, many=True):

мой вопрос, как получить доступ к этим двум файлам изображений, чтобы я мог l oop через него и сохранить в базе данных

...