首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型上的反射/查找没有找到国际化(阴影)字段

Django模型上的反射/查找没有找到国际化(阴影)字段
EN

Stack Overflow用户
提问于 2019-03-07 16:04:33
回答 1查看 186关注 0票数 0

我使用一个CMS,它在运行时通过API对我的模型进行映射。

除了本地化字段之外,它工作得很好,因为我使用https://django-modeltranslation.readthedocs.io/en/latest/registration.html添加明显没有映射的“阴影”字段(它们不在模型本身中,而是通过“寄存器”添加)

我能告诉我的模型它拥有这些田地吗?它可以找到label字段,但忽略了在运行时动态添加的label_frlabel_en

这是translation.py

代码语言:javascript
复制
from modeltranslation.translator import translator, TranslationOptions

from tfp_backoffice.apps.org.models import Org


class OrgTranslationOptions(TranslationOptions):
  """
  See https://django-modeltranslation.readthedocs.io/en/latest/registration.html
  """
  fields = ('label',)
  required_languages = ('fr',)  # ex: {'de': ('title', 'text'), 'default': ('title',)}


translator.register(Org, OrgTranslationOptions)

我使用https://github.com/jet-admin/jet-django,并注意到/model_descriptions端点的响应只返回label字段。

我怀疑这是调用端点description.py#L12时调用的代码。

基本上,我已经安装了django-modeltranslationjet-django应用程序,后者提供了喷气机管理界面使用的API,用于模型查找。

我不知道我的问题是否必须在jet本身中解决,或者django是否为类似的阴影字段提供了一个特性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 14:38:49

django --模型翻译使用了一种注册方法,描述了这里,这意味着当您第一次启动django应用程序时,所有的模型都会被修补。在初始化django-模型转换之后,Post._meta.fields除了包含text之外,还包含已翻译的字段text_frtext_de

看看jet,当应用程序启动时,JetAdminModelDescription似乎也被初始化了,实际的模型字段使用Model._meta.get_fields()检索到了这里

因此,只要JetAdmin在django模型转换之后被初始化,这些字段也应该可以用于JetAdmin。

确保在INSTALLED_APPS设置中将jet放在django-模型转换之后,它应该可以工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55048120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档