我在管理网站上注册了一个模型。它的字段之一是一个长字符串表达式。我想在管理员中将自定义表单字段添加到此模型的添加/更新页面。基于这些字段的值,我将构建长字符串表达式并将其保存在相关模型字段中。
我怎样才能做到这一点?
我正在从符号构建数学或字符串表达式。用户选择符号(这些是不属于模型的自定义字段),当他们单击保存时,我从符号列表中创建一个字符串表达式表示并将其存储在数据库中。我不希望符号成为模型和数据库的一部分,只是最终表达式。
原文由 michalv82 发布,翻译遵循 CC BY-SA 4.0 许可协议
无论是在你的
admin.py
还是在一个单独的forms.py
你可以添加一个ModelForm
类,然后像往常一样在里面声明你的额外字段。我还给出了一个示例,说明如何在form.save()
中使用这些值:要让额外的字段出现在管理员中:
admin.py
并设置表单属性以引用您在上面创建的表单。像这样:
更新:
在 Django 1.8 中,您需要将
fields = '__all__'
添加到YourModelForm
的元类中。