gpt4 book ai didi

python - Django ModelForm的插入表单也显示已有记录

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:23 25 4
gpt4 key购买 nike

我正在使用 ModelForms 生成一些用户注册表数据。当我提交表格时,确实添加了记录。但是,现有记录也以表格格式显示。我只想添加新用户。

注册 html 表单:

    <div class="container">
<h1>Sign up</h1>
<form method="post" action="/users/signup/">{% csrf_token %}
<table>
{{ formset }}
<tr><th><input type="submit" /></th></tr>
</table>
</form>
</div>

声明 ModelForms 的函数:

def model_signup(request):
ModelFormSet = modelformset_factory(Model)
if request.method == 'POST':
formset = ModelFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
# do something.
else:
formset = ModelFormSet()
return render_to_response("model_signup.html", {
"formset": formset,
}, context_instance=RequestContext(request))

谢谢!

最佳答案

您可以 specify a queryset创建表单集时。如果您不想显示现有记录,请使用空查询集 MyModel.objects.none()

ModelFormSet = modelformset_factory(MyModel)
if request.method == 'POST':
formset = ModelFormSet(request.POST, request.FILES, queryset=MyModel.objects.none())
if formset.is_valid():
formset.save()
# do something.
else:
formset = ModelFormSet(queryset=MyModel.objects.none())

关于python - Django ModelForm的插入表单也显示已有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748233/

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