【发布时间】:2015-10-26 19:38:47
【问题描述】:
我正在使用 Hvad 制作可翻译模型,但尝试获取模型时出错。
我有两个这样的模型类:
class Boy(TranslatableModel):
age = models.PositiveSmallIntegerField()
toy = models.ForeignKey(Toy)
translations = TranslatedFields(
name = models.CharField(max_length=60),
)
class Toy(TranslatableModel):
price = models.PositiveSmallIntegerField()
translations = TranslatedFields(
model_name = models.CharField(max_length=60),
)
我正在尝试进行如下查询:
Boy = Boy.objects.language('en').filter(name="john", toy__model_name="car")
我收到以下错误: 要从未翻译的模型访问已翻译的字段,如“model_name”,您必须使用翻译感知管理器。对于不可翻译的模型,您可以使用 hvad.utils.get_translation_aware_manager 获得一个。 对于可翻译模型,请使用 language() 方法。
以下工作完美:
Boy = Boy.objects.language('en').filter(name="john")
所以错误是当我添加 // toy__model_name="car" //
我做错了什么?实现我想要的方法是什么?
【问题讨论】:
标签: python django multilingual django-hvad