database - Django:更新X数量模型的形式

标签 database django forms savechanges

我有一个页面,它显示过滤后的模型实例列表,并允许用户更新其中的某些字段或将新字段添加为表单。

我很好奇执行此操作的聪明方法是什么,删除并重新保存所有输入数据或对每个数据进行比较并保存已编辑/新字段和实体。

我想提醒您,我使用 postgres 来保存这些值,并为此表单显示大约 20 个条目。

最佳答案

QuerySet 对象有 update() 方法——它在 ie 中使用。用于从更改列表中批量更新多个选定对象的管理面板。这是方法引用 django's official documentation .

使用方法:

只需使用您要更新的模型创建查询集(假设 MyModel 具有名为“my_field”的字段):

qs = MyModel.objects.all()
qs.update(my_field=value) 

就是这样 - 请记住 update() 方法不会像 save() 方法那样发送任何信号 - 它只会直接对数据库运行查询。

至于“通过表单添加字段”——我不知道我做对了吗?您想添加额外的相关模型或动态添加字段到数据库上的模型表吗?

如果您想添加相关模型,请使用 InlineFormset ( http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#inline-form ) - 它很容易处理。 否则,您必须按照此处所述将字段添加到模型的 _meta:How dynamic add custom field to model .

关于database - Django:更新X数量模型的形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3778585/

相关文章:

.net - 如何更改 SQL 中的列属性?

django - Heroku Push 导致 django 的 slug-compiler 出现超时错误

javascript - Django 民意调查教程第 3 部分 : polls/templates/polls/index. html - 此代码是什么?这不是 python

python - Django:将表单数据转换为 'clean url'

html - 在单选组中对项目进行分组的可访问方式是什么? (HTML5/WAI-咏叹调)

php - Symfony Form Collection - 如何获取实体 id?

sql - 如何将记录从互连表复制到不同数据库中的另一个表?

node.js - 使用 sequelize 和环境变量连接数据库的 Node 配置文件设置

mysql - 如何删除 MySQL 中的数据库行?

python - Heroku 上的基本 Django 静态文件部署