我使用一个CMS,它在运行时通过API对我的模型进行映射。
除了本地化字段之外,它工作得很好,因为我使用https://django-modeltranslation.readthedocs.io/en/latest/registration.html添加明显没有映射的“阴影”字段(它们不在模型本身中,而是通过“寄存器”添加)
我能告诉我的模型它拥有这些田地吗?它可以找到label字段,但忽略了在运行时动态添加的label_fr和label_en。
这是translation.py
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-modeltranslation和jet-django应用程序,后者提供了喷气机管理界面使用的API,用于模型查找。
我不知道我的问题是否必须在jet本身中解决,或者django是否为类似的阴影字段提供了一个特性。
发布于 2019-03-12 14:38:49
django --模型翻译使用了一种注册方法,描述了这里,这意味着当您第一次启动django应用程序时,所有的模型都会被修补。在初始化django-模型转换之后,Post._meta.fields除了包含text之外,还包含已翻译的字段text_fr和text_de。
看看jet,当应用程序启动时,JetAdminModelDescription似乎也被初始化了,实际的模型字段使用Model._meta.get_fields()检索到了这里。
因此,只要JetAdmin在django模型转换之后被初始化,这些字段也应该可以用于JetAdmin。
确保在INSTALLED_APPS设置中将jet放在django-模型转换之后,它应该可以工作。
https://stackoverflow.com/questions/55048120
复制相似问题