Django用表单编辑和更新数据库中的现有数据

2024-10-03 15:24:40 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我需要编辑和更新数据库中已经存在的数据行。我猜他们在中有一些问题视图.py. 所以我不确定视图.py是对的。请检查并告诉我如果有任何问题和如何进行。在

谢谢

在模型.py是:

    class chefequipe(models.Model):
    nom = models.CharField(max_length=200)
    prenom = models.CharField(max_length=200)
    matricule = models.CharField(max_length=200)
    login = models.CharField(max_length=200)
    password = models.CharField(max_length=200)
    statut = models.CharField(max_length=200)
    objects = models.Manager()
     def __str__(self):
        return self.matricule

在表单.py公司名称:

^{pr2}$

在视图.py在

    def updatechef(request , id):
    var=models.chefequipe.objects.filter(id=id)
    form_data = forms.ChefEquipeRegister(request.POST or None )

    if form_data.is_valid():



 chefequipe = models.chefequipe()
    chefequipe.nom = form_data.cleaned_data['nom']
    chefequipe.prenom= form_data.cleaned_data['prenom']
    chefequipe.login = form_data.cleaned_data['login']
    chefequipe.password = form_data.cleaned_data['password']
    chefequipe.statut = form_data.cleaned_data['statut']
    chefequipe.matricule = form_data.cleaned_data['matricule']

    chefequipe.save()



context= {
    'var' : var,        
}
    return render(request , 'administrateur/updatechef.html', context  )

html页面

    {% extends 'baseadmin.html' %}

{% block content %}

<form action="" method="post">





    <div class="container">
        <div class="columns is-mobile">
            <div class="column is-half is-offset-one-quarter">

                <form action="" method="post">
                    {%  csrf_token %}

                    {% for var in var %}
                    <div class="content"> <h1>  Modifier Information Chef D'équipe : {{var.prenom }} {{ var.nom }}  </h1></div>
                 <label>Nom</label>  <input id="nom" type="text" name="nom" value="{{ var.nom }}">
                 <label>Prenom</label>  <input id="prenom" type="text" name="prenom" value="{{ var.prenom }}">
                 <label>Matricule</label>  <input id="matricule" type="text" name="matricule" value="{{ var.matricule }}">
                 <label>Statut</label>  <input id="statut" type="text" name="statut" value="{{ var.statut }}">
                 <label>Login</label>  <input id="login" type="text" name="login" value="{{ var.login }}">
                 <label>Password</label>  <input id="password" type="text" name="password" value="{{ var.password }}">
                    {% endfor %}




                        </div>
                    <input type="submit" value="Modifier" class="button is-primary">
                </form>
            </div>
        </div>
    </div>
{% endblock %}  

我需要更新数据库中的数据


Tags: divformidinputdatavaluemodelsvar
1条回答
网友
1楼 · 发布于 2024-10-03 15:24:40

您使用表单而不是ModelForm有什么原因吗?ModelForms用于创建或更新模型实例。当你得到请求.POST数据,则可以在ModelForm中分配要更新的模型实例(数据库行)。在

在模型.py在

class ChefEquipeRegister(forms.ModelForm) ...

在视图.py在

^{pr2}$

我认为您应该确保您的模型有一个主键来访问每个模型实例,然后将表单重写为ModelForm。跟随这里:https://docs.djangoproject.com/en/2.2/topics/forms/modelforms/

相关问题 更多 >