SqlAlchemy: nombre de colonnes distinctes sur plusieurs colonnes

Je ne peux pas faire:

>>> session.query(
        func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)

Je peux le faire:

session.query(
        func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()

Ce qui est bien (nombre d'utilisateurs uniques dans un "pageload' de la table db).

Ce n'est pas correct dans le cas général, par exemple, donnera un nombre de 1 au lieu de 2 pour le tableau suivant:

 col_a | col_b
----------------
  xx   |  yy
  xxy  |  y

Est-il possible de générer le code SQL suivant (qui est valide dans postgresql au moins)?

SELECT count(distinct (col_a, col_b)) FROM my_table;

source d'informationauteur EoghanM