簡體   English   中英

在外鍵 django 中保存多個值

[英]Save multiple values in foreign key django

我想在外鍵中保存多個關系對象,但不幸的是,我收到了一個錯誤,我附在下面。 我的數據庫中已經有 ID 為 189 的 object

錯誤:

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

視圖.py

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

序列化程序.py

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

模型.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 model 但我需要傳遞標簽 model 來代替。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM