Invalid Value in extended foreign key

28 views
Skip to first unread message

Amed Sheriff

unread,
Apr 6, 2023, 9:13:22 PM4/6/23
to django-res...@googlegroups.com
I am trying to Post data to the TrackSerializer but getting error 

Models

from django.db import models
from django.utils.translation import gettext_lazy as _

# Create your models here.
class AlbumType(models.Model):
album_name = models.CharField(max_length=100)
type = models.CharField(max_length=100)

class Meta:
ordering = ['album_name']
verbose_name_plural = 'Album Type'
def __str__(self):
return str(self.album_name)

class Album(models.Model):
album_name = models.ForeignKey(AlbumType, verbose_name=_("Album Type"), on_delete=models.CASCADE)
artist = models.CharField(max_length=100)

class Meta:
ordering = ['album_name']
verbose_name_plural = 'Album'
def __str__(self):
return str(self.album_name)

class Track(models.Model):
album = models.ForeignKey(Album, verbose_name=_("Album"), on_delete=models.CASCADE)
order = models.IntegerField()
title = models.CharField(max_length=100)
duration = models.IntegerField()

class Meta:
verbose_name_plural = 'Track'
# unique_together = ['album', 'order']
ordering = ['order']

def __str__(self):
return '%d: %s' % (self.order, self.title)
Serializer
from rest_framework import serializers
from .models import *

class AlbumTypeSerializer(serializers.ModelSerializer):

class Meta:
model = AlbumType
fields = '__all__'

class AlbumSerializer(serializers.ModelSerializer):
album_name = serializers.StringRelatedField(many=True)
class Meta:
model = Album
fields = '__all__'

class TrackSerializer(serializers.ModelSerializer):
album = serializers.SlugRelatedField(
queryset=Album.objects.all(),
slug_field='album_name'
)
class Meta:
model = Track
fields = '__all__'

View
from django.shortcuts import render
from rest_framework import viewsets
from .models import *
from .pollSerializer import *


class AlbumType_Viewsets(viewsets.ModelViewSet):

queryset = AlbumType.objects.all()
serializer_class = AlbumTypeSerializer

class Track_Viewsets(viewsets.ModelViewSet):

queryset = Track.objects.all()
serializer_class = TrackSerializer

class Album_Viewsets(viewsets.ModelViewSet):

# queryset = Album.objects.all()
serializer_class = AlbumSerializer

def get_queryset(self):
return Album.objects.all().filter(album__album_name=self.request.user)[:1]

POST
{
    "album""The Eye",
    "order"1,
    "title""New Me",
    "duration"3
}
Error
{
    "album": [
        "Invalid value."
    ]
}


Reply all
Reply to author
Forward
0 new messages