1
我試圖做這個工作Django的hvad TranslatableAdmin與經理錯誤
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]
我在做什麼錯?我該如何解決它?
在此先感謝
「下一個版本」 - 意味着現在呢?我該如何檢查? – patroqueeet
其中一些工作,其中一些沒有,最好的檢查方法是嘗試。相關機票是[** here **](https://github.com/KristianOellegaard/django-hvad/issues/187)。對於那些不起作用的人來說,這個答案中的解決方法通常可以解決這個問題。對於那些不這樣做的人來說,通常意味着在該選項中擁有可翻譯字段時存在一些模糊性,並且必須通過明確覆蓋來解決。 – spectras
是的,這就是我在所有情況下都以100%結束的情況:使用'get_fields'。 – patroqueeet