gpt4 book ai didi

django - Django:使用ModelForm编辑现有数据库条目

转载 作者:行者123 更新时间:2023-12-03 10:36:02 26 4
gpt4 key购买 nike

我创建了一个ModelForm类,以便能够创建和编辑数据库条目。创建新条目效果很好,但是,我不知道如何使用ModelForms编辑/更新现有条目。我可以使用以下数据库实例来实例化ModelForm:

form  = MyModelForm(instance=MyModel.objects.get(pk=some_id))

但是,当我将其传递给模板并编辑一个字段然后尝试保存它时,我创建了一个新的数据库条目,而不是更新“some_id”?

编辑1:
这是我的看法
def editData(request):
if request.method == 'POST':
form = MyModelForm(request.POST, request.FILES)

if form.is_valid():
editedEntry = form.save() # <-- creates new entry, instead of updating

最佳答案

请记住,在POST上实例化时,仍然需要使用instance参数。

instance = MyModel.objects.get(whatever)
if request.method == "POST":
form = MyModelForm(request.POST, instance=instance)
...

else:
form = MyModelForm(instance=instance)

关于django - Django:使用ModelForm编辑现有数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7349865/

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