Сохранение нескольких значений во внешнем ключе django

Я хотел сохранить несколько реляционных объектов во внешнем ключе, но, к сожалению, я получаю ошибку, которую я прилагаю ниже. У меня уже есть объект с ID 189 в моей БД

error:

{
    "tags": [
        "Invalid pk \"189\" - object does not exist."
    ]
}

views.py

queryset = PackageRoom.objects.all()
serializer = PackageRoomSerializer(queryset, many=True)    
return Response(serializer.data)

serializers.py

class PackageRoomSerializer(serializers.ModelSerializer):
    tags = serializers.PrimaryKeyRelatedField(queryset=PackageRoom.objects.all(), many=True)
    class Meta:
        model = PackageRoom
        fields = ['id', 'name', 'description', 'tags']

models.py

class Tag(models.Model):
    name = models.CharField(max_length=255, default='')
    description = models.CharField(max_length=255, default='')
    singleline = models.ManyToManyField(Singleline)

    class Meta:
        db_table = 'tags'



class PackageRoom(models.Model):
    name = models.CharField(max_length=255, default='')
    tags = models.ForeignKey(Tag, on_delete=models.PROTECT) 

    class Meta:
        db_table = 'package_rooms'

Это была глупая ошибка, которую я допустил, передавая модель PackageRoom в своем сериализаторе, но вместо этого мне нужно передать модель Tag.

class PackageRoomSerializer(serializers.ModelSerializer):
    tags = serializers.PrimaryKeyRelatedField(queryset=Tag.objects.all(), many=True)
    class Meta:
        model = PackageRoom
        fields = ['id', 'name', 'description', 'tags']
Вернуться на верх