You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
844 B
27 lines
844 B
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
|
|
|