2016-12-01 10 views
1

私はシンプルでアプリを持っている:ジャンゴHVADとForeignKeyの

product = Product.objects.language('en').create(name='asd', description='asd', code='asd') 

inv = Inv.objects.create(code='xxx') 

report = Report.objects.language('en').create(quantity=1, inv=inv, product=product) 

そして、私が入力した場合::LEN(Report.objects.language(シェル私はいくつかのインスタンスを作成するから、その後

class NamedModel(TranslatableModel): 
    code = models.CharField(max_length=120) 

    translations = TranslatedFields(
     name=models.CharField(max_length=256), 
     description=models.TextField() 
    ) 

    class Meta: 
     abstract = True 


class Product(NamedModel): 
    translations = TranslatedFields() 


class Report(TranslatableModel): 
    quantity = models.DecimalField(max_digits=20, decimal_places=6) 
    inv = models.ForeignKey(Inv) 
    translations = TranslatedFields(
     product=models.ForeignKey(Product) 
    ) 

とし、 'エン')すべての())、私は1を取得し、私がしようとすると、この:。

Report.objects.language('en').all() 

は私が手:

NoTranslationError: Accessing a translated field requires that the instance has a translation loaded, or a valid translation in current language (None) loadable from the database 

アドバイスをありますか?

答えて

0

現在のセッションのアクティブな言語を明示的に設定する必要があります。 Djangoのドキュメントを参照してください。"Explicitly setting the active language"

from django.utils import translation 

user_language = 'en' 
translation.activate(user_language) 
関連する問題