Django rest framework загружает изображение в связанную модель с помощью generic.createAPIView

Я планирую проведение медицинского лагеря в определенном месте. После достижения места назначения я хочу загрузить фотографию этого места назначения на карту.

Я создал две модели для этого

Один - SiteMap

class SiteMap(models.Model):
    MpId = models.IntegerField(verbose_name='MPID')
    VisitingDate = models.DateField(default=timezone.now,verbose_name='Date')
    Vehical = models.ForeignKey(VehicalMaster,on_delete=models.CASCADE,verbose_name='Vehical')
    Doctor = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='Doctor')
    District = models.ForeignKey(District,on_delete=models.CASCADE,verbose_name='District')
    Block = models.ForeignKey(Block,on_delete=models.CASCADE,verbose_name='Block')
    Panchayat = models.CharField(max_length=120,verbose_name="Panchayat")
    Village = models.CharField(max_length=120,verbose_name='Village')
    updated = models.DateTimeField(auto_now=True)

А второй - SiteMapImage

class SiteMapImage(models.Model):
    MPID = models.ForeignKey(SiteMap,on_delete=models.CASCADE,verbose_name='MPID')
    SiteImage = models.ImageField(default='default.png',upload_to='sitemap/%Y/%m/%d')
    Location = models.CharField(max_length=200,verbose_name='Location',null=True,blank=True)
    Latitude = models.CharField(max_length=120,verbose_name='Latitude',null=True,blank=True)
    Longitue = models.CharField(max_length=120,verbose_name='Longitude',null=True,blank=True)
    updated = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"{self.MPID}"


    def save(self):
        super().save()
        siteimg = Image.open(self.SiteImage.path)
        if siteimg.height>300 or siteimg.width>300:
            output_size = (300,300)
            siteimg.thumbnail(output_size)
            siteimg.save(self.SiteImage.path)

Я создал класс сериализатора для этого. Вот код.

class SiteMapImageSerializer(serializers.ModelSerializer):


    class Meta:
        model = SiteMapImage
        fields = ['MPID','Location','Latitude','Longitue','SiteImage']

и вот мой view.py

class SiteMapImageCreateView(generics.CreateAPIView):
    lookup_field = 'SiteMap.pk'
    serializer_class = SiteMapImageSerializer
    def get_queryset(self):
         return SiteMapImage.objects.all()

Я не знаю, что я сделал не так. но в браузере тоже не работает.

Я тоже загружаю изображение ошибки.

enter image description here

Вернуться на верх