0

Here is my model and serializers classes:

class Employee(models.Model):
    name = models.CharField(max_length=255)
    manager = models.ForeignKey('self', on_delete=models.RESTRICT, related_name='employee_manager')
    score = models.FloatField()
    updator = models.ForeignKey(User, on_delete=models.RESTRICT, related_name='employee_updator')


class EmployeeSerializer(serializers.ModelSerializer):

    class Meta:
        model = Employee
        fields = '__all__'

Currently I'm getting this response:

[
    {
        "id":1,
        "name": "David",
        "manager": null,
        "score": 18.7,
        "updator": 15
    },
    {
        "id":2,
        "name": "Sara",
        "manager": 1,
        "score": 12.3,
        "updator": 15
    }
]

But I need to have 'id' and 'name' of manager like this:

[
    {
        "id":1,
        "name": "David",
        "manager": null,
        "score": 18.7,
        "updator": 15
    },
    {
        "id":2,
        "name": "Sara",
        "manager": {
            "id":1,
            "name":"David"
        },
        "score": 12.3,
        "updator": 15
    }
]

I tried adding 'depth=1' to my serializer but it also returns 'employee_updator' details that I'm not interested in.

Any help would be appreciated. Thanks.

Soroosh
  • 543
  • 1
  • 4
  • 21

0 Answers0