Как добавить сериализатор в django rest framework - PullRequest
0 голосов
/ 09 января 2020
class EmployeeListSerializer(serializers.ModelSerializer):
    """
    Employee List view get
    """
    user_profile = UserProfileSerializer()
    employer_info = serializers.SerializerMethodField()

    @staticmethod
    def get_employer_info(instance):
        """
        To get employer info
        :return:
        """
        return UserEmployeeCreatedBySerializer(instance.employer_info()).data

    class Meta(object):
        """
        User meta class.
        """
        model = User
        fields = ('id', 'first_name', 'last_name', 'full_name', 'email', 'phone', 'user_profile', 'employer_info')

Это мой сериализатор

{
{
  "page_data": null,
  "data": {
    "count": 11,
    "next": "",
    "previous": null,
    "results": [
      {
        "id": 14,
        "first_name": "Robin",
        "last_name": "chauhan",
        "full_name": "Robin Chauhan",
        "email": "robinchauhan@gmail.com",
        "phone": "8750795058",
        "user_profile": {
          "address": "avengers building",
          "country": "usa",
          "state": "washington",
          "city": "manhatten",
          "zip_code": "string",
          "latitude": 0,
          "longitude": 0,
          "company_name": "string",
          "employee_size": 34
        },
        "employer_info": {
          "is_active": false,
          "created_by": {
            "email": "",
            "first_name": "",
            "last_name": ""
          }
        }

Это мой результат API

{
{
  "page_data": null,
  "data": {
    "count": 11,
    "next": "",
 "employer_info": {
          "is_active": false,
          "created_by": {
            "email": "",
            "first_name": "",
            "last_name": ""
          }
    "previous": null,
    "results": [
      {
        "id": 14,
        "first_name": "Robin",
        "last_name": "chauhan",
        "full_name": "Robin Chauhan",
        "email": "robinchauhan@gmail.com",
        "phone": "8750795058",
        "user_profile": {
          "address": "avengers building",
          "country": "usa",
          "state": "washington",
          "city": "manhatten",
          "zip_code": "string",
          "latitude": 0,
          "longitude": 0,
          "company_name": "string",
          "employee_size": 34
        }
       }

Я хочу вот так

1 Ответ

1 голос
/ 09 января 2020

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

Вы можете прочитать о Пользовательских стилях нумерации страниц в Django Документы

...