Serailizer 메소드의 self, instance, validated_data 인자에 무엇이 들어갈까?
class ProfileSerializer(serializers.ModelSerializer):
...
def update(self, instance, validated_data):
self, intance, validated_data 인자 파헤치기
테스트
명령어 | 출력 | 설명 |
self.initial_data | {'first_name': 's', 'phone_number': '010-1111-2222'} | 입력 데이터 출력 |
self.instance | test1@gmail.com(STAFF) | 시리어라이저 모델 인스턴스 출력 |
self.validated_data | OrderedDict([('phone_number', '010-1111-2222')]) | 시리어라이저를 통해 유효성 검사를 통과한 입력 데이터 출력 |
self.data | {'user': 7, 'email': 'test1@gmail.com', 'first_name': 's', 'last_name': '', 'created_at': '2023-03-21T04:40:22.418681Z', 'updated_at': '2023-03-22T04:34:19.878195Z', 'phone_number': '010-1111-2222', 'city': 'gunpo', 'state': 'rmawjd', 'postcode': '30303', 'country': 'korea', 'tenant': 5, 'member': None, 'user_type': 2} | 시리어라이저 모델 인스턴스 데이터 모두 출력 |
instance | test1@gmail.com(STAFF) | = self.instance |
validated_data | OrderedDict([('phone_number', '010-1111-2222')]) | = self.validated_data |
※ self.__dir__() 실행
['_args', '_kwargs', 'instance', 'initial_data', 'partial', '_context', '_creation_counter', 'read_only', 'write_only', 'required', 'default', 'source', 'initial', 'label', 'help_text', 'style', 'allow_null', 'field_name', 'parent', 'error_messages', 'url_field_name', 'fields', '_validators', '_validated_data', '_errors', 'module', 'Meta', 'get_email', 'get_first_name', 'get_last_name', 'create', 'update', '_declared_fields', 'doc', 'serializer_field_mapping', 'serializer_related_field', 'serializer_related_to_field', 'serializer_url_field', 'serializer_choice_field', 'get_fields', 'get_field_names', 'get_default_field_names', 'build_field', 'build_standard_field', 'build_relational_field', 'build_nested_field', 'build_property_field', 'build_url_field', 'build_unknown_field', 'include_extra_kwargs', 'get_extra_kwargs', 'get_uniqueness_extra_kwargs', '_get_model_fields', 'get_validators', 'get_unique_together_validators', 'get_unique_for_date_validators', 'default_error_messages', '_writable_fields', '_readable_fields', 'get_initial', 'get_value', 'run_validation', '_read_only_defaults', 'run_validators', 'to_internal_value', 'to_representation', 'validate', 'repr', '
iter', 'getitem', 'data', 'errors', 'init', 'new', 'class_getitem', 'many_init', 'save', 'is_valid', 'validated_data', 'default_validators', 'default_empty_html', 'bind', 'validators', 'get_attribute', 'get_default', 'validate_empty_values', 'fail', 'root', 'context', 'deepcopy', 'dict', 'weakref', 'hash', 'str', 'getattribute', 'setattr', 'delattr', 'lt', 'le', 'eq', 'ne', 'gt', 'ge', 'reduce_ex', 'reduce', 'subclasshook', 'init_subclass', 'format', 'sizeof', 'dir', 'class']
'Django' 카테고리의 다른 글
[Django] Django 인증 및 권한 시스템 - permission_classes (0) | 2023.04.06 |
---|---|
[Django] RESTful API (0) | 2023.03.24 |
[Django] Django DRF, Serializer 란 ? (0) | 2023.03.23 |