我正在使用 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" //
我究竟做错了什么?实现我想要的方法是什么?