Как получить реляционную модель данных в django?

Я запрашиваю данные пользователя. И я получаю следующий вывод в ответ.

{
        "id": 33,
        "username": "dummy",
        "email": "dummy@test.com",
        "role": 49,
        "is_active": true,
        "staff": true,
        "admin": false,
        "last_login": "2022-07-27T06:41:03.709582Z",
        "update_time": "2022-08-02T07:53:11.241320Z",
        "create_time": "2022-07-26T14:34:35.161434Z"
    }

Как видите, эта модель пользователя находится во внешней связи с ролью с id 49. Я хочу получить все детали роли в JSON с экземплярами счетов. Как я могу это сделать? например :

{
            "id": 33,
            "username": "dummy",
            "email": "dummy@test.com",
            "role": {
                "id":49
                "projects":true,
                "notifications":true,
                "emails":true,
                "update_time": "2022-08-02T07:53:11.241320Z",
                "create_time": "2022-07-26T14:34:35.161434Z"
            },
            "is_active": true,
            "staff": true,
            "admin": false,
            "last_login": "2022-07-27T06:41:03.709582Z",
            "update_time": "2022-08-02T07:53:11.241320Z",
            "create_time": "2022-07-26T14:34:35.161434Z"
        }

Мои представления об этом API.

@api_view(['GET'])
@permission_classes([IsAuthenticated])
def all_platform_user_list(request):
    if request.method == 'GET':
        users = User.objects.get_all_platform_users()
        total_count = len(users)
        total_page = total_page_counter(total_count)

        paginator = CustomPagination()
        paginator.page_size = 20

        result_page=None
        try:
            result_page = paginator.paginate_queryset(users, request)
        except:
            pass
        serializer = CreateAccountsSerializer(result_page, many=True)
        return Response({"message": "Here are results","total_page":total_page,"total_count":total_count, "data": serializer.data},status=status.HTTP_200_OK)
    else:
        return Response({"message": "No User"},status=404)

Вероятно, у вас возникла проблема с CreateAccountsSerializer. Вам необходимо добавить информацию о сериализаторе, который должен представлять данные из ролевого поля.

class WarehouseSerializer(serializers.ModelSerializer):
    role = RoleSerializer(many=True/False, read_only=True/False)

    class Meta:
        model = Warehouse
        fields = ['id', 'username', ... 'role']

У вас есть документация здесь

Вернуться на верх