Your IP : 18.221.200.48
�
��bg�� �.�ddlmZddlmZmZmZmZmZddlm Z ddl
mZddl
mZmZmZmZmZd�Zded eed
edeeeffd�Zd
efd�Zee e��eeeedddddddddd�
dededededededededededededed edeefd!�ZdS)"�)�partial)�Dict�Any�Sequence�Callable�Optional)�Model�)�compare)�_compare_mapping�register�CompareContext�unspecified�Registryc#�ZK�|j}dD]}t||d��}|r |D]}|V���dS)N)�concrete_fields�virtual_fields�private_fields)�_meta�getattr)�instance�opts�name�fields�fields �d/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/testfixtures/django.py�instance_fieldsr
s^�����>�D�����
��t�T�*�*��� ��
�
����������r�exclude�include_not_editable�returnc��i}t|��D]=}|j|vr�t|dd��s|s� |�|��||j<�>|S)N�editableF)rrr�value_from_object)rrr �data�fs r�
model_to_dictr'so��
�D�
�X�
&�
&�5�5���6�W�����q�*�e�,�,� �5I� ���*�*�8�4�4��Q�V����Kr�contextc�2�|�dt����}|�dd��}g}||fD]&}|�t|||�����'|�|��|�|��t |�S)a
Returns an informative string describing the differences between the two
supplied Django model instances. The way in which this comparison is
performed can be controlled using the following parameters:
:param ignore_fields:
A sequence of fields to ignore during comparison, most commonly
set to ``['id']``. By default, no fields are ignored.
:param non_editable_fields:
If `True`, then fields with ``editable=False`` will be included in the
comparison. By default, these fields are ignored.
�
ignore_fields�non_editable_fieldsF)�
get_option�set�appendr'r)�x�yr(r*r+�args�objs r�
compare_modelr3&s����&�&�����>�>�M� �+�+�,A�5�I�I��
�D��!�t�L�L�����M�#�}�6I�J�J�K�K�K�K��K�K������K�K��N�N�N��T�"�"rNTF�
r/r0�expected�actual�prefix�suffix�x_label�y_label�raises� recursive�strict� ignore_eq� comparersr/r0r5r6r7r8r9r:r;r<r=r>r?�optionsc
�6�t|
|||||||||| |
||d�
|��S)z�
This is identical to :func:`~testfixtures.compare`, but with ``ignore=True``
automatically set to make comparing django :class:`~django.db.models.Model`
instances easier.
r4)�base_compare)r/r0r5r6r7r8r9r:r;r<r=r>r?r1r@s rrrAsO��,�
�
�
�����������������r)� functoolsr�typingrrrrr�django.db.modelsr �rrB�
comparisonrr
rrrr�str�boolr'r3�rr�<module>rKs���������:�:�:�:�:�:�:�:�:�:�:�:�:�:�"�"�"�"�"�"�%�%�%�%�%�%�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�Y�
�
�
�����#���#��
�#�s�(�^� ����#��#�#�#�#�0 ���
����
��#�!���������"�&�&�&��&��&�� &�
�&��
&��&��&��&��&��&��&��&��&��&� �c�]�!&�&�&�&�&�&r
?>