DRF Как сериализовать модель с медиа и полем внешнего ключа Django
У меня есть модель django, содержащая filefield и imagefield
class Audios(models.Model):
name = models.CharField(max_length = 29,blank=True,null=True)
duration = models.DecimalField(default=0.0,max_digits=5, decimal_places=2)
language = models.ForeignKey(Language,on_delete=models.PROTECT,related_name='audios')
zartist = models.ForeignKey(Artist,on_delete=models.CASCADE,related_name='myaudios')
annotation = models.CharField(max_length=50)
avatar = models.ImageField(upload_to=saveAudioImage,
validators=[FileExtensionValidator(allowed_extensions=["jpg","png","jpeg"])], null=True, blank=True)
audio = models.FileField(upload_to=saveAudioFile,
validators=[FileExtensionValidator(allowed_extensions=["mp3","acc"])], null=True, blank=True)
streamed = models.PositiveIntegerField(default=0)
rating = models.DecimalField(default=0.0,max_digits=2, decimal_places=1)
created = models.DateTimeField(auto_now_add=True)
likes = models.PositiveIntegerField(default=0)
modified = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
а поле zartist является внешним ключом к другой модели artist и я написал для него сериализатор
class AudiSerializer(serializers.ModelSerializer):
class Meta:
model = Audios
fields = ('id','name','language','zartist','annotation','avatar','audio')
и вид
class AudioUpload(APIView):
parser_classes = [MultiPartParser, FormParser]
def post(self, request,format=None):
print(request.data)
print("\n\n")
serializer = AudiSerializer(data=request.data)
if serializer.is_valid():
serializer.save
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
но когда я тестирую его через httpie, он не сохраняет его в базу данных и поле файла и поле изображения не обрабатываются должным образом. Кто-нибудь может помочь, пожалуйста?