
    sgh<                     D    d dl Z d dlmZ d dlmZ d dlmZ  G d d      Zy)    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 | _        n4t        |t        t        f      rt        | | _        nt        |      | _        t        | (  |i | y )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        m/var/www/enzed_healthcare/enzed_env/lib/python3.12/site-packages/django/contrib/postgres/aggregates/mixins.pyr   zOrderableAggMixin.__init__   ss    MML1
  LMMH DM4-0'2DM'1DM+//    c                 <    t         |          | j                  gz   S N)r   get_source_expressionsr
   )r   r   s    r   r   z(OrderableAggMixin.get_source_expressions   s    w-/4==/AAr   c                 6    |^ }| _         t        | 	  |      S r   )r
   r   set_source_expressions)r   exprsr   s     r   r!   z(OrderableAggMixin.set_source_expressions!   s     %w-e44r   c                 0   | j                         ^ }}}d}g }||j                  |      \  }}g }|	 |j                  |      \  }	}g }
|D ]  }|
|j                  |      d   z  }
 t        |   |||      \  }}	|g |
||fS # t        $ r Y Kw xY w)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;7R7R7T4~}$,4,<,<],K)L/%#+#3#3N#C = ' 	>KX--k:1==M	> *|LQFmFoFFFF ! s   B	 		BB)__name__
__module____qualname__r   r   r!   r'   __classcell__)r   s   @r   r   r      s&     /12 0&B5G Gr   r   )r   django.core.exceptionsr   django.db.models.expressionsr   django.utils.deprecationr   r   r   r   r   <module>r;      s     0 4 =1G 1Gr   