我正在试着做这件事
admin.py
class TapasInline(TranslatableStackedInline):
model = Tapa
can_delete = True
extra = 0
verbose_name = 'Tapas'
verbose_name_plural = 'Tapas'
fields = ('name','description','photo', 'tags')..。
class BarAdmin(TranslatableAdmin):
inlines = (TapasInline,)..。
admin.site.register(Bar,BarAdmin)models.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
我做错了什么?我该怎么解决它呢?
提前感谢
发布于 2015-05-11 11:22:05
不幸的是,目前还不支持在管理选项中直接使用转换后的字段。它将在下一个版本中(对于大多数)。
罪魁祸首代码在管理员的系统检查模块中。它可以工作,但包括在管理中的系统检查确实坚持它不允许它不识别的字段。
同时,您可以使用get_fields方法而不是fields属性来绕过管理检查。这应该能起到作用:
def get_fields(self, request, obj=None):
return ('name','description','photo', 'tags')请告诉我它能不能用。我应该早点回答的,但我不常在这里逗留。
https://stackoverflow.com/questions/29897156
复制相似问题