Skip to content

Instantly share code, notes, and snippets.

@philippeowagner
Forked from mbrochh/gist:1178120
Created October 4, 2013 13:15
Show Gist options
  • Select an option

  • Save philippeowagner/6825714 to your computer and use it in GitHub Desktop.

Select an option

Save philippeowagner/6825714 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
"""A ghetto stupid dead simple approach for model translation."""
from django.utils.translation import get_language
class LanguageFieldProxy(object):
"""
Thanks to ojii for providing this snippet.
Usage:
class MyModel(models.Model):
field_de = models.CharField(max_length=255)
field_ja = models.CharField(max_length=255)
field = LanguageFieldProxy()
"""
def contribute_to_class(self, cls, name):
self.name = name
setattr(cls, self.name, self)
def __get__(self, instance, instance_type=None):
if not instance:
return ''
return getattr(instance, '%s_%s' % (self.name, get_language()))
def __set__(self, instance, value):
setattr(instance, '%s_%s' % (self.name, get_language()), value)
def __delete__(self, instance):
delattr(instance, '%s_%s' % (self.name, get_language()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment