@_generative(_no_statement_condition)
def distinct(self, *criterion):
    'Apply a ``DISTINCT`` to the query and return the newly resulting\n        ``Query``.\n\n        :param \\*expr: optional column expressions.  When present,\n         the Postgresql dialect will render a ``DISTINCT ON (<expressions>>)``\n         construct.\n\n        '
    if (not criterion):
        self._distinct = True
    else:
        criterion = self._adapt_col_list(criterion)
        if isinstance(self._distinct, list):
            self._distinct += criterion
        else:
            self._distinct = criterion
Apply a ``DISTINCT`` to the query and return the newly resulting
``Query``.

:param \*expr: optional column expressions.  When present,
 the Postgresql dialect will render a ``DISTINCT ON (<expressions>>)``
 construct.
@_generative(_no_statement_condition)
def distinct(self, *criterion):
    'Apply a ``DISTINCT`` to the query and return the newly resulting\n        ``Query``.\n\n        :param \\*expr: optional column expressions.  When present,\n         the Postgresql dialect will render a ``DISTINCT ON (<expressions>>)``\n         construct.\n\n        '
    if (not criterion):
        self._distinct = True
    else:
        criterion = self._adapt_col_list(criterion)
        if isinstance(self._distinct, list):
            self._distinct += criterion
        else:
            self._distinct = criterion