首页 > 解决方案 > Django 多对一关系将数据添加到多方

问题描述

我有两个模型,如下所示。我正在使用 Django restframework。

class Family(models.Model):
    name= models.CharField(max_length=100)

class Parishioner(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    family = models.ForeignKey(Family, on_delete=models.CASCADE)

有我的 ViewSets

class FamilyViewSet(viewsets.ModelViewSet):
    queryset = Family.objects.all()
    serializer_class = FamilySerializer
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthenticated,)

class ParishionerViewSet(viewsets.ModelViewSet):
    queryset = Parishioner.objects.all()
    serializer_class = serializers.ParishionerSerializer
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthenticated,)

这些是我的序列化器

class FamilySerializer(serializers.ModelSerializer):

    class Meta:
        model = Family
        fields = ('id', 'name')
        read_only_fields = ('id',)


class ParishionerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Parishioner
        fields = ('id', 'first_name', 'last_name', 'family')
        read_only_fields = ('id',)
        depth = 1

所以基本上Parishioner可以拥有一个FamilyFamily有多个members(Parishioners)

目前我必须去 allParishioners并选择Family.

是否可以添加一个名为模型的字段membersFamily其中成员将是Array一个Existing Parishioners?或者有没有其他方法来处理这个?

在此处输入图像描述

标签: python-3.xdjangodjango-modelsdjango-rest-frameworkdjango-views

解决方案



推荐阅读