Django Rest Framework 中的模型翻译

Posted

技术标签:

【中文标题】Django Rest Framework 中的模型翻译【英文标题】:Model translation in Django Rest Framework 【发布时间】:2019-12-10 10:53:02 【问题描述】:

我正在使用 Django Rest Framework 开发一个 API,我需要一些模型,其中包含一些应该支持多种语言翻译的字段,然后,当然,序列化程序应该必须使用预期的语言检索字段。 我考虑了两个选项:向模型添加额外的字段(一个字段用于语言)或创建另一个模型,其中包含每种语言的所有文本。 另一方面,我看到有一些库(例如 django-modeltranslation)旨在解决该问题,但是,我想知道一些关于它们的意见。 你怎么看?你会向我推荐什么?

非常感谢

【问题讨论】:

我也有同样的问题。我目前正在调查使用 django-modeltranslation.readthedocs.io/en/latest.. 的选项。也许它可能有用 【参考方案1】:

根据documentation,

与 django-rest-framework 结合使用

创建新视图集时,请确保覆盖 get_queryset 方法,使用 queryset 作为属性将不起作用,因为它在设置任何语言之前被评估一次。

****

因此,根据您的需要,您可以创建一个继承自 drf 的类(例如 ViewSet),从请求中获取语言代码并替换 get_queryset 方法以按语言过滤。

【讨论】:

以上是关于Django Rest Framework 中的模型翻译的主要内容,如果未能解决你的问题,请参考以下文章

Django-Rest-Framework 中的序列化程序问题

如何从 django-rest-framework 中的文件列表中过滤图像

Django Rest Framework 中的 JWT 身份验证错误“无效签名”

Django REST framework视图

django框架学习六:优化views.py文件,使用rest_framework中的APIVew和Response返回

Django REST Framework 中的外键值