簡體   English   中英

在外鍵 django 中保存多個關系對象

[英]Save multiple relational objects in foreign key django

我想在模型之間建立一對多的關系,在 Django 中,我們需要使用 ForeignKey。 我將從前端數組中的關系對象的多個ID,但我很困惑,我將如何保存這些多個關系object? 每個 package 房間可以有多個標簽,但標簽只有一個 package 房間。

模型.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'

JSON object 我將從前端收到

{
   "name": "Test Room", 
   "tags": [1, 2, 3, 4, 5]  // IDs of Tags 
}

您可以在序列化程序中使用PrimaryKeyRelatedField並設置它的many=True

class PackageSerializer(serializers.ModelSerializer):

    tags = serializers.PrimaryKeyRelatedField(queryset=PackageRoom.objects.all(), many=True)

    class Meta:
        model = PackageRoom
        fields = ("name", "tags")

文檔是: https://www.django-rest-framework.org/api-guide/relations/#primarykeyrelatedfield

暫無
暫無

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

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