Mochinov

Untitled

Apr 8th, 2022 (edited)
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.93 KB | None | 0 0
  1. from django.urls import reverse
  2. from rest_framework import serializers
  3.  
  4. from misc.views.generic_serializer import GenericSerializer, GenericSerializerField
  5. from users.models import UserProperty
  6.  
  7.  
  8. class UserPropertySerializer(GenericSerializer):
  9.     """
  10.    Отвечает за сериализацию данных модели UserProperty (табличное представление), оправляемых в ответе на запрос.
  11.    """
  12.  
  13.     readonly_field = ['user_field',  'user_property']
  14.     mandatory_fields = ['user_field', 'user_property']
  15.     create_field = ['transfer_date_field', 'declared_value_field', 'return_date_field', 'user_property_field', 'user_field',]
  16.  
  17.     id_field = GenericSerializerField(model_field_name='id')
  18.     user_field = GenericSerializerField(
  19.         model_field_name='user_id',
  20.         model_field_verbose='user__get_full_name',
  21.         field_verbose_is_method=True,
  22.     )
  23.     user_property_field = GenericSerializerField(
  24.         model_field_name='property_id',
  25.         field_verbose_is_method=True,
  26.     )
  27.     transfer_date_field = GenericSerializerField(model_field_name="transfer_date_field")
  28.     declared_value_field = GenericSerializerField('declared_value_field')
  29.     return_date_field = GenericSerializerField(model_field_name='return_date_field')
  30.     delete_btn_field = serializers.SerializerMethodField()
  31.  
  32.     fields_information = {
  33.         'id_field': GenericSerializer.get_field_information(
  34.             model_name='id',
  35.             field_verbose='ID',
  36.         ),
  37.         'user_field' : GenericSerializerField.get_field_information(
  38.             model_name='user',
  39.             field_verbose='Ответственный сотрудник по возврату данных',
  40.             field_verbose_is_method=True,
  41.         ),
  42.         'user_property_field' : GenericSerializerField.get_field_information(
  43.             model_name='property',
  44.             field_verbose='Имущество выданное сотруднику',
  45.         ),
  46.         'transfer_date_field' : GenericSerializerField.get_field_information(
  47.             model_name="transfer_date_field",
  48.             field_verbose='Дата передачи',
  49.         ),
  50.         'declared_value_field' : GenericSerializerField.get_field_information(
  51.             model_name='declared_value_field',
  52.             field_verbose='Количество',
  53.         ),
  54.         'return_date_field' : GenericSerializerField.get_field_information(
  55.             model_name='return_date_field',
  56.             field_verbose='Дата возврата',
  57.         ),        
  58.         'delete_btn_field': GenericSerializer.get_field_information(),
  59.     }
  60.  
  61.     class Meta:
  62.         model = UserProperty
  63.         depth = 1
  64.         fields = [
  65.             'id_field',
  66.             'transfer_date',
  67.             'declared_value',
  68.             'return_date',
  69.             'user_property',
  70.             'user',
  71.             # 'project',
  72.         ]
Add Comment
Please, Sign In to add comment