File: //usr/lib/python3/dist-packages/django/db/models/fields/__pycache__/reverse_related.cpython-310.pyc
o
3�a�+ � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
G dd � d e
�ZG d
d� de�ZG dd
� d
e�Z
G dd� de�ZdS )al
"Rel objects" for related fields.
"Rel objects" (for lack of a better name) carry information about the relation
modeled by a related field and provide some utility functions. They're stored
in the ``remote_field`` attribute of the field.
They also act as reverse fields for the purposes of the Meta API because
they're the closest concept currently available.
� )�
exceptions)�cached_property)�
make_hashable� )�BLANK_CHOICE_DASH)�FieldCacheMixinc @ s0 e Zd ZdZdZdZdZdZdZdZ d8dd�Z
edd� �Zed d
� �Z
edd� �Zed
d� �Zedd� �Zedd� �Zedd� �Zedd� �Zedd� �Zdd� Zdd� Zedd� �Zdd � Zed!d"� �Zd#d$� Zd%d&� Zdedd'fd(d)�Zd*d+� Zd,d-� Z d.d/� Z!d0d1� Z"d9d2d3�Z#d9d4d5�Z$d6d7� Z%dS ):�ForeignObjectRelz�
Used by ForeignObject to store information about the relation.
``_meta.get_fields()`` returns this class to provide access to the field
flags for the reverse relation.
TFNc C sF || _ || _|| _|| _|d u ri n|| _|| _|| _d| _d| _d S )NFT) �field�model�related_name�related_query_name�limit_choices_to�parent_link� on_delete�symmetrical�multiple)�selfr �tor r r
r r � r �I/usr/lib/python3/dist-packages/django/db/models/fields/reverse_related.py�__init__'