gpt4 book ai didi

python - 更新 Django 中的外键字段

转载 作者:行者123 更新时间:2023-11-28 16:36:34 24 4
gpt4 key购买 nike

我有一个显示外键字段下拉列表的表单。表单保存用户选择,但我希望 View 更新数据库条目而不是插入新条目。解决此问题的最佳方法是什么?

当前函数:

def formset_valid(self, formset):
self.object = formset.save()
self.object.save()
return HttpResponseRedirect(self.get_success_url())

我试过这样的:

d = RevisionDefaultType.objects.get(id=1)
n = RevisionSettings.objects.get(self.object)
d.defaultrevisiontype = n
d.save()

但它会抛出一个错误,指出正在更新的数据不是一个实例。

最佳答案

我设法调整了来自 https://docs.djangoproject.com/en/dev/topics/db/queries/#saving-foreignkey-and-manytomanyfield-fields 的更新示例.这似乎按预期工作。

    def formset_valid(self, formset):

self.object = formset.save(commit=False)
revdefault = RevisionDefaultType.objects.get(pk=1)
revget = RevisionSettings.objects.get(global_revision_type=self.object)
revdefault.defaultrevisiontype = revget
revdefault.save()

return HttpResponseRedirect(self.get_success_url())

再次感谢您的帮助。

关于python - 更新 Django 中的外键字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com