
    >ȋh<                     L    d dl Z d dlmZ d dlmZ d dlmZ  G d d          ZdS )    N)FullResultSet)OrderByList)RemovedInDjango61Warningc                   D     e Zd Zddd fd
Z fdZ fdZ fdZ xZS )OrderableAggMixin )orderingorder_byc                .   |r/t          j        dt          d           |rt          d          |}|sd | _        n?t          |t          t          f          rt          | | _        nt          |          | _         t                      j
        |i | d S )Nz:The ordering argument is deprecated. Use order_by instead.   )category
stacklevelz*Cannot specify both order_by and ordering.)warningswarnr   	TypeErrorr
   
isinstancelisttupler   super__init__)selfr	   r
   expressionsextra	__class__s        f/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/postgres/aggregates/mixins.pyr   zOrderableAggMixin.__init__   s     	 ML1   
  N LMMMH 	2 DMM4-00 	2'2DMM'11DM+//////    c                 V    t                                                      | j        gz   S N)r   get_source_expressionsr
   )r   r   s    r   r   z(OrderableAggMixin.get_source_expressions   s"    ww--//4=/AAr   c                 Z    |^ }| _         t                                          |          S r   )r
   r   set_source_expressions)r   exprsr   s     r   r!   z(OrderableAggMixin.set_source_expressions!   s'     %ww--e444r   c                 z   |                                  ^ }}}d}g }||                    |          \  }}g }|*	 |                    |          \  }	}n# t          $ r Y nw xY wg }
|D ] }|
|                    |          d         z  }
!t                                          |||          \  }}	|g |
||R fS )N    )r
   )r   compiler   r   as_sql)r   compiler
connectionsource_exprsfiltering_exprorder_by_exprorder_by_sqlorder_by_paramsfilter_params_source_paramssource_exprsqlr   s                r   r'   zOrderableAggMixin.as_sql%   s    7;7R7R7T7T4~}$,4,<,<],K,K)L/%#+#3#3N#C#C ==     ' 	> 	>KX--k::1==MM*|LLQFmFoFFFFFs   A 
A#"A#)__name__
__module____qualname__r   r   r!   r'   __classcell__)r   s   @r   r   r      s         /12 0 0 0 0 0 0 0&B B B B B5 5 5 5 5G G G G G G G G Gr   r   )r   django.core.exceptionsr   django.db.models.expressionsr   django.utils.deprecationr   r   r   r   r   <module>r;      s     0 0 0 0 0 0 4 4 4 4 4 4 = = = = = =1G 1G 1G 1G 1G 1G 1G 1G 1G 1Gr   