Это мой сериализатор класса
class ProjectSerializer(ModelSerializer):
created_by = SlugRelatedField(read_only=True, slug_field='email')
updated_by = SlugRelatedField(read_only=True, slug_field='email')
team = SlugRelatedField(many=True, read_only=True, slug_field='first_name')
class Meta:
model = Project
exclude = ['deleted_at']
Это Models.py
class Project(MandatoryFields, Model):
project_name = models.CharField(max_length=255, blank=True)
project_areas = models.CharField(max_length=255, blank=True)
team = models.ManyToManyField(
settings.AUTH_USER_MODEL, blank=True, related_name="%(app_label)s_%(class)s_team")
project_manager = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True, null=True,
related_name="%(app_label)s_%(class)s_project_manager")
start_date = models.DateField(null=True, blank=True)
end_date = models.DateField(null=True, blank=True)
REQUIRED_FIELDS = []
def __str__(self):
return self.project_name
Я получаю такой ответ
"status": true,
"data": [
{
"id": 1,
"created_by": "abc@google.com",
"updated_by": "abc@google.com",
"project_manager": "abc@google.com",
"team": ["Rahul",
"Anoop",
],
"created_date": "2020-01-16T05:18:58.471601Z",
"modified_date": "2020-01-16T05:18:58.471662Z",
"project_name": "ABC",
"project_areas": "ABC",
"start_date": null,
"end_date": null,
},
Моя проблема Команда - это отношения многих ко многим с моделью пользователя. Мне нужно изменить ответ полевой команды. Нужно вернуть идентификатор и имя в формате словаря.
Как я могу изменить это
"team": [
{
"id": 1,
"name": "Rahul",
},
{
"id": 2,
"name": "Anoop",
}
],