This commit is contained in:
Jeff Balogh 2009-10-23 10:20:06 -07:00
Родитель 26d662ff7d
Коммит 3514ac694f
2 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@ -5,6 +5,7 @@ import functools
from django.core import paginator
from .managers import CachingManager
from .models import LegacyModel, TranslatedField

Просмотреть файл

@ -1,5 +1,7 @@
from django.db import models
from . import managers
class LegacyModel(models.Model):
"""Adds automatic created and modified fields to the model."""
@ -15,9 +17,11 @@ class TranslatedField(models.IntegerField):
def to_python(self, value):
locale = 'en-US'
q = Translation.objects.filter(id=value, locale=locale)
v = q.values_list('localized_string', flat=True)
return v[0] if v else value
try:
o = Translation.objects.get(id=value, locale=locale)
return o.localized_string
except Translation.DoesNotExist:
return value
# Putting Translation in here since TranslatedField depends on it.
@ -28,5 +32,11 @@ class Translation(LegacyModel):
locale = models.CharField(max_length=10)
localized_string = models.TextField()
objects = managers.CachingManager()
class Meta:
db_table = 'translations'
@property
def cache_key(self):
return self._cache_key(id=self.id, locale=self.locale)