MCPcopy
hub / github.com/pydantic/pydantic / _copy_and_set_values

Method _copy_and_set_values

pydantic/v1/main.py:632–648  ·  view source on GitHub ↗
(self: 'Model', values: 'DictStrAny', fields_set: 'SetStr', *, deep: bool)

Source from the content-addressed store, hash-verified

630 return m
631
632 def _copy_and_set_values(self: 'Model', values: 'DictStrAny', fields_set: 'SetStr', *, deep: bool) -> 'Model':
633 if deep:
634 # chances of having empty dict here are quite low for using smart_deepcopy
635 values = deepcopy(values)
636
637 cls = self.__class__
638 m = cls.__new__(cls)
639 object_setattr(m, '__dict__', values)
640 object_setattr(m, '__fields_set__', fields_set)
641 for name in self.__private_attributes__:
642 value = getattr(self, name, Undefined)
643 if value is not Undefined:
644 if deep:
645 value = deepcopy(value)
646 object_setattr(m, name, value)
647
648 return m
649
650 def copy(
651 self: 'Model',

Callers 2

copyMethod · 0.95
validateMethod · 0.45

Calls 1

__new__Method · 0.45

Tested by

no test coverage detected