私は次の表を持っています:
# parts
- name (default)
- name_en (translated)
- name_es (translated)
埋めるときname_en
、およびname_es
django管理パネルを介して、name
空のままにしても設定されます。値は、現在のロケールに応じてname_es
またはから取得されます。name_en
複数の国から 2 つ以上の言語とエディターをサポートする必要があるため、デフォルトのフィールドname
は混乱した IMO になります。
質問
空のままにしておくか、回避して代わりにname_en
使用する方法はありますか?name
コード抽出
# settings.py
LANGUAGES = (
('en', gettext('English')),
('es', gettext('Spanish')),
)
# app/models.py
class Part(models.Model):
name = models.CharField(max_length=100, blank=True, default='')
# app/serializer.py
class PartSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Part
fields = ['name']
# app/views.py
class PartViewSet(viewsets.ModelViewSet):
queryset = Part.objects.all()
serializer_class = PartSerializer
注:私は言及のドキュメントとドキュメントを使用していdjango-restframework
ます:django-modeltranslation
新しいビューセットを作成するときは、必ず get_queryset メソッドをオーバーライドしてください。プロパティとして queryset を使用しても機能しません。これは、言語が設定される前に一度評価されるためです。
前もって感謝します!