File: //lib/python3/dist-packages/django/views/generic/__pycache__/detail.cpython-310.pyc
o
ʎ�_k � @ s� d dl mZ d dlmZ d dlmZ d dlmZ d dl m
Z
mZmZ G dd� de
�Z
G dd � d e
e�ZG d
d� de�ZG dd
� d
ee�ZdS )� )�ImproperlyConfigured)�models)�Http404)�gettext)�ContextMixin�TemplateResponseMixin�Viewc s^ e Zd ZdZdZdZdZdZdZdZ dZ
ddd�Zdd � Zd
d� Z
dd
� Z� fdd�Z� ZS )�SingleObjectMixinzS
Provide the ability to retrieve a single object for further manipulation.
N�slug�pkFc C s� |du r| � � }| j�| j�}| j�| j�}|dur |j|d�}|dur9|du s+| jr9| �� }|jdi ||i��}|du rI|du rItd| j j
��z|�� }W |S |jjyf t
td�d|jjji ��w )z�
Return the object the view is displaying.
Require `self.queryset` and a `pk` or `slug` argument in the URLconf.
Subclasses can override this to return any object.
N)r zXGeneric detail view %s must be called with either an object pk or a slug in the URLconf.z,No %(verbose_name)s found matching the query�verbose_name� )�get_queryset�kwargs�get�pk_url_kwarg�slug_url_kwarg�filter�query_pk_and_slug�get_slug_field�AttributeError� __class__�__name__�model�DoesNotExistr �_�_metar )�self�querysetr r
�
slug_field�objr
r
�=/usr/lib/python3/dist-packages/django/views/generic/detail.py�
get_object s. ��
���zSingleObjectMixin.get_objectc C s: | j du r| jr| jj�� S tdd| jji ��| j �� S )z�
Return the `QuerySet` that will be used to look up the object.
This method is called by the default implementation of get_object() and
may not be called if get_object() is overridden.
Nzj%(cls)s is missing a QuerySet. Define %(cls)s.model, %(cls)s.queryset, or override %(cls)s.get_queryset().�cls)r r �_default_manager�allr r r �r r
r
r! r : s
���
zSingleObjectMixin.get_querysetc C s | j S )z;Get the name of a slug field to be used to look up by slug.)r r&