From b3cd27aeead2fa4c4d38faa35e84dbc95e6dd567 Mon Sep 17 00:00:00 2001 From: Virgilio Santos Date: Wed, 16 Mar 2016 17:37:06 -0300 Subject: [PATCH] query options: add primary support distinct statement --- modeltranslation/manager.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 7cf2b18..4327aef 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -354,6 +354,18 @@ class MultilingualQuerySet(models.query.QuerySet): new_args.append(rewrite_order_lookup_key(self.model, key)) return super(MultilingualQuerySet, self).order_by(*new_args) + def distinct(self, *field_names): + """ + Change translatable field names in an ``distinct`` argument + to translation fields for the current language. + """ + if not self._rewrite: + return super(MultilingualQuerySet, self).distinct(*field_names) + new_args = [] + for key in field_names: + new_args.append(rewrite_order_lookup_key(self.model, key)) + return super(MultilingualQuerySet, self).distinct(*new_args) + def update(self, **kwargs): if not self._rewrite: return super(MultilingualQuerySet, self).update(**kwargs)