【发布时间】:2020-12-10 10:28:25
【问题描述】:
我正在尝试实现一个 API 来添加 Agent。代理具有多对多字段、角色。
我正在使用 Django 和 Django Rest Framework。
这是模型:
class Role(models.Model):
code = models.CharField(max_length=50, primary_key=True)
labe = models.CharField(max_length=50)
def __str__(self):
return '%s %s' % (self.labe, self.code)
class Agent(models.Model):
firstName = models.CharField(max_length=60)
lastName = models.CharField(max_length=60)
role = models.ManyToManyField(Role)
所以我创建了序列化器:
class RegistrationSerializer(serializers.ModelSerializer):
role = serializers.PrimaryKeyRelatedField(
many=True, read_only=True)
class Meta:
model = Agent
fields = ['email', 'firstName', 'lastName', 'role',
'phoneNumber', 'experienceWorkYeares'],
def save(self):
agent = Agent.objects.create(
email=self.validated_data['email'],
firstName=self.validated_data['firstName'],
lastName=self.validated_data['lastName'],
phoneNumber=self.validated_data['phoneNumber'],
experienceWorkYeares=self.validated_data['experienceWorkYeares']
role=self.validated_data['role'] // One of my multiple try but doesn`t work.
)
agent.save()
return agent
如何检索我通过 Postman 发送的角色并将其放入代理中?对于我要发布的角色 role = "CODE1"。
非常感谢您。
基本上我想做的是:对于每个代理都有一个或多个角色。我尝试了很多事情并且我遵循文档但我无法做到。
【问题讨论】:
标签: python django serialization django-rest-framework