[英]Django Admin Classes that Override formfield_for_dbfield - Error
I have a bunch of FlatPages on my django website and would like to translate their content in different languages from the Admin using the django-modeltranslations pacakge.我的 django 网站上有一堆 FlatPages,我想使用 django-modeltranslations pacakge 从管理员那里翻译不同语言的内容。 Here is my code:这是我的代码:
class TinyMCEFlatPageAdmin(FlatPageAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
if db_field.name.startswith('content'):
return db_field.formfield(widget=TinyMCE(attrs={'cols': 80, 'rows': 30},))
return super().formfield_for_dbfield(db_field, **kwargs)
Basically, I created a TinyMCEFlatPageAdmin class from the default one FlatPageAdmin to display the Flatpage content in HTML on the admin site.基本上,我从默认的 FlatPageAdmin 创建了一个 TinyMCEFlatPageAdmin class 以在管理站点上的 HTML 中显示 Flatpage 内容。 As far as the translation is concerned, i added the following code:就翻译而言,我添加了以下代码:
class MyTranslatedFlatPageAdmin(TinyMCEFlatPageAdmin, TabbedTranslationAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
field = super().formfield_for_dbfield(db_field, **kwargs)
self.patch_translation_field(db_field, field, **kwargs)
return field
I have then registered the new MyTranslatedFlatPageAdmin class:然后我注册了新的 MyTranslatedFlatPageAdmin class:
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, MyTranslatedFlatPageAdmin)
When i log in to the flatpage content page i receive the following error:当我登录到平面内容页面时,我收到以下错误:
formfield_for_dbfield() takes 2 positional arguments but 3 were given
I am struggling to find out why as everything seems to be correct to me.我正在努力找出原因,因为一切似乎对我来说都是正确的。 Thanks in advance for your help在此先感谢您的帮助
I fixed it by downgrading to version 0.13.1.我通过降级到版本 0.13.1 来修复它。 It seems a bug with the version 0.15.0 of the package. package 的 0.15.0 版本似乎存在错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.