問題タブ [django-modeltranslation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
427 参照

python - django-modeltranslation で翻訳した元のフィールドをどうするのですか?

モデルのフィールドが使用できる言語を settings.py で指定します。

しかし、移行を適用すると、元のフィールドとは別に、これらの追加の 3 つのフィールドが作成されることになります。元のフィールドが「name」だった場合、「name」、「name_en」、「name_zh_cn」、および「name_zh_tw」になります。

元のフィールドで何をすることになっていますか?それを無視します?消して?LANGUAGES に英語を入れずに、オリジナルを英語の翻訳として扱うべきですか?

Github ページで解決策を探したところ、デフォルトを希望の言語に設定して、TRANSLATIONMODEL_LANGUAGES に含めなくてもよいと誰かが言っていました。 #issuecomment-457427502しかし、これは正しくありません (少なくとも最新の translationmodel リリースでは) django.core.exceptions.ImproperlyConfigured: MODELTRANSLATION_DEFAULT_LANGUAGE not in LANGUAGES setting.

0 投票する
0 に答える
235 参照

python - django-modeltranslation - Django モデルの get() SQL SELECT が翻訳されたフィールドをフェッチしない

django-modeltranslation を使用して、一部のモデル フィールドをオランダ語 (nl) とフランス語 (fr) に翻訳します。

現在、1 つのモデルを除いてすべて正常に動作しています。

データベースでは、3 つのフィールドとそれに対応する翻訳済みのフィールドが表示されます: title、title_nl、title_fr、name、name_nl、name_fr、description、description_nl、description_fr。これらの翻訳されたフィールドを django admin またはシェルで更新すると、それらは正しく保存されます。データベースからこのデータをフェッチすると、問題が発生します。したがってAssociation.objects.all()、 、Association.objects.get(id=1)、または django admin の詳細ビューでこのデータを取得すると、翻訳されたフィールドごとにデフォルトのデータが表示されます。Django が実行した SQL クエリを調べると、次の奇妙なクエリが表示されます。

ご覧のとおり、titleが 3 回、nameが 3 回、descriptionが 3 回あり、 language suffix はありません

したがって、このモデルを更新する場合、django-modeltranslation はうまく機能しますが、データベースから翻訳されたデータをフェッチする場合、作成したモデルの 1 つだけでは機能しません。

誰かがこのエラーで私を助けてくれますか? 私はすでに何日もこれを見ています。どこかでタイプミスをしたのではないかと思いましたが、タイプミスは見つかりませんでした。./manage.py makemigrationsまた、これらのフィールドを削除して再度追加し、 、./manage.py migrate./manage.py update_translation_fieldsとデータベースを再度同期しようとしまし./manage.py sync_translation_fieldsたが、それでも成功しませんでした。

私はpythonバージョン3.5.2、Djangoバージョン2.1.7、およびdjango-modeltranslationバージョン0.14.4を使用しています

0 投票する
0 に答える
431 参照

django - 翻訳を含む django レスト フレームワーク モデル用のカスタム シリアライザーを作成する方法

私はdjango-rest-frameworkを使用しており、django-modeltranslationを使用して翻訳された属性「テキスト」を持つモデル「TextElement」を持っています。翻訳されたフィールドを受け取り、言語をキーとして、翻訳された属性を値として持つディクショナリをデータとして返す汎用シリアライザーを作成する必要があります。例:

次のシリアライザーを使用して実行できます。

しかし、「フィールド」内のすべての翻訳された属性を自動的にチェックし、settings.LANGUAGES で利用可能な言語を使用して同じデータ構造を返す汎用シリアライザーを作成できるかどうかを知りたいです。

前もって感謝します!