Python Django Rest框架:处理多对多关系
要求是我想在人员组选择中插入人员,并且在创建人员组时,我可以为该特定组选择人员 我在models.py中添加了两个模型,并管理了它们之间的多对多关系 models.py 序列化程序.py 上面的代码帮助我创建personGroup选择的person 但是,我还想在创建personGroup时添加人员选择。目前在创建personGroup时,我不允许输入persons。 请告诉我是否有任何解决方案,我可以在创建人员组时通过该解决方案选择可用人员。PersonGroupSerializer中的人员列表字段为只读,因此您不能使用API修改它 person\u list=serializers.PrimaryKeyRelatedFieldqueryset=person.objects.all,many=True 尝试删除此参数Python Django Rest框架:处理多对多关系,python,django-models,django-rest-framework,Python,Django Models,Django Rest Framework,要求是我想在人员组选择中插入人员,并且在创建人员组时,我可以为该特定组选择人员 我在models.py中添加了两个模型,并管理了它们之间的多对多关系 models.py 序列化程序.py 上面的代码帮助我创建personGroup选择的person 但是,我还想在创建personGroup时添加人员选择。目前在创建personGroup时,我不允许输入persons。 请告诉我是否有任何解决方案,我可以在创建人员组时通过该解决方案选择可用人员。PersonGroupSerializer中的人
您可能还希望切换到ForeignKey字段,而不是sluged。remove read only参数有效。还要管理同一字段中的关系。谢谢
from django.db import models
class PersonGroup(models.Model):
id = models.AutoField(primary_key=True)
groupName = models.CharField(max_length=30)
detail = models.CharField(max_length=200)
class Person(models.Model):
id = models.AutoField(primary_key=True)
personId = models.CharField(max_length=20)
personName = models.CharField(max_length=20)
state = models.IntegerField()
personGroup = models.ManyToManyField(PersonGroup, related_name="person_list", blank=True)
class PersonSerializer(serializers.ModelSerializer):
personGroup = serializers.PrimaryKeyRelatedField(queryset=PersonGroup.objects.all(), many=True)
class Meta:
model = Person
fields = '__all__'
class PersonGroupSerializer(serializers.ModelSerializer):
person_list = PersonSerializer(many=True, read_only=True)
class Meta:
model = PersonGroup
fields = '__all__'