django - 向模型中但不在表单中的数据库字段添加值
问题描述
我有一个模型,其属性名为 authID,如下所示:
authID = models.CharField(max_length=400)
在我看来,我表单中的所有字段都被放入数据库中,如下所示:
if request.method == 'POST':
form = PersonalDetailsModelForm(request.POST)
if form.is_valid():
form.save()
我想知道如何做的是,当他们提交表单时,我还想将 authID 的值放入我的数据库中。但是,authID 不是我表单中的字段。出于安全原因,我也不想将其设为隐藏字段。如何将值添加到模型中但不在表单中的数据库字段?
解决方案
调用save()
Django Form 的方法commit=False
#views.py
if request.method == 'POST':
form = PersonalDetailsModelForm(request.POST)
if form.is_valid():
model_instance = form.save(commit=False) # 'commit=False' plays key role here
model_instance.authID = 'your auth id'
model_instance.save()
...
参考
推荐阅读
- python - 如何在脚本python3中递归地重命名子目录和文件名?
- javascript - 在 Internet Explorer 11 中获取未定义?
- wordpress - 该网站使用什么平台?
- python-3.x - 在不使用 Sklearn Pipeline 的情况下获得与 Sklearn Pipeline 相同的结果
- c# - C# 从读取 modbus 设备将字节解析为 2 的补码
- python - 我的文本不会在 pygame 中显示
- php - 使用助手发布输入
- java - 在android的MVP设计模式中,我们将业务登录放在哪里?
- javascript - 如何使用 JS 过滤器过滤重复值并获取最新的交易对象?
- php - 如何从 PHP 中的数组中删除重复/包含