django - 如何从 modelformset_factory 访问单个表单对象?
问题描述
我已经使用 modelformset_factory 部署了一个表单集。但是,我需要遍历表单集中的表单,对它们执行一些逻辑,然后单独保存每个表单,而不是保存整个表单集。目前,我不得不使用表单集中每个表单的 ID 来获取它所代表的对象。有更清洁的方法吗?
def accounts_import(request,pk):
account = get_object_or_404(Account, pk=pk)
# Create transactions queryset for use in formset
transactions = Transaction.objects.filter(account=account.monzo_account, import_type=None).order_by('-id')
FormSet = modelformset_factory(Transaction, form=TransactionsImportForm, extra=0)
if request.method == 'POST':
formset = FormSet(request.POST)
if formset.is_valid():
for form in formset:
object = Transaction.objects.get(id=form.cleaned_data['id'])
# Do some stuff on the object
object.save()
解决方案
好的看起来 form.cleaned_data['id'] 返回对象而不是 ID,所以我得到了我想要的。
推荐阅读
- javascript - jqueryUI datepicker在错误的单元格中
- oauth-2.0 - Dotnet 隔离的 Azure 函数 - 如何访问 HttpContext
- javascript - Javascript折扣购物车
- django - 如何为用户创建一些限制?
- embedded - RaspberryPi 4:udpsvd / qemu 的 tftp 启动问题
- powershell - 使用 PowerShell 模拟 Postman 请求失败
- android-studio - 如何使用按钮在android studio中打开/关闭移动数据?(应支持> = Android5.0)
- flutter - 脚手架钥匙 - 目的是什么以及在哪里使用
- traefik - Traefik 在控制台和文件上的访问日志
- docker - 是否可以在 docker-compose 中指定本地 .tar(docker image) 文件路径作为图像?