from django.utils.translation import get_language from hvad.models import TranslationManager class ExpoManager(TranslationManager): def all(self, lang=None): if lang: return super(ExpoManager, self).language(lang).all().order_by('name') else: return super(ExpoManager, self).language(get_language()).all().order_by('name') def safe_get(self, **kwargs): model = self.model try: return model.objects.get(**kwargs) except: return None def hvad_to_dict(object): """ """ value = object.__dict__ lang = get_language() bad_fields = ['master_id', 'id', 'language_code'] value.update({key:value for key, value in object.translations.filter(language_code=lang).values()[0].iteritems() if key not in bad_fields}) return value