我正在努力做这件事
在管理员py在
class TapasInline(TranslatableStackedInline):
model = Tapa
can_delete = True
extra = 0
verbose_name = 'Tapas'
verbose_name_plural = 'Tapas'
fields = ('name','description','photo', 'tags')
。。。在
^{pr2}$。。。在
admin.site.register(Bar,BarAdmin)
在模型.py在
class Tapa(TranslatableModel):
translations = TranslatedFields(
name = models.CharField(max_length=255,verbose_name='Nombre de la tapa'),
description = models.TextField(verbose_name='Descripcion de la tapa')
)
photo = models.ImageField(verbose_name='Foto de la tapa')
average_rating = models.FloatField(verbose_name='Puntuación media de la tapa',default=-1)
bar = models.ForeignKey(Bar,verbose_name='Bar')
tags = models.ManyToManyField(Tag,verbose_name='Etiquetas')
def __unicode__(self):
return self.lazy_translation_getter('name')
,但我得到了一个错误:
hvad.exceptions.WrongManager: To access translated fields like 'name' from an untranslated model, you must use a translation aware manager. For non-translatable models, you can get one using hvad.utils.get_translation_aware_manager.
For translatable models, use the language() method.
[Django==1.8]
我做错什么了?我该怎么解决呢?在
提前谢谢
不幸的是,还不支持在管理选项中直接使用翻译字段。它将在下一个版本中(对大多数人来说)。在
罪魁祸首代码在管理员的系统检查模块中。它可以工作,但系统检查包括在管理真的坚持,它将不允许一个字段,它不承认。在
同时,您可以使用
get_fields
方法而不是fields
属性来绕过管理检查。这应该可以做到:请告诉我它是否有效。我会早点回答的,但我不常在这里逗留。在
相关问题 更多 >
编程相关推荐