如何在Django中编辑和删除数据?

Gat*_*ath 9 python django editing

我正在使用django 1.0,我使用Django书中的示例创建了我的模型.我能够执行添加数据的基本功能; 现在我需要一种方法来检索数据,将其加载到表单(change_form ?!或其他东西),编辑它并将其保存回数据库.其次,我如何删除数据库中的数据?即搜索,选择然后删除!

请给我一个示例,说明我需要在我的代码上编写代码view.pyurls.py执行此任务.

Vas*_*sil 28

假设您有一个模型Employee.要编辑具有主键emp_id的条目,您可以:

emp = Employee.objects.get(pk = emp_id)
emp.name = 'Somename'
emp.save()
Run Code Online (Sandbox Code Playgroud)

删除它只是做:

emp.delete()
Run Code Online (Sandbox Code Playgroud)

所以完整的视图将是:

def update(request, id):
   emp = Employee.objects.get(pk = id)
   #you can do this for as many fields as you like
   #here I asume you had a form with input like <input type="text" name="name"/>
   #so it's basically like that for all form fields
   emp.name = request.POST.get('name')
   emp.save()
   return HttpResponse('updated')

def delete(request, id):
   emp = Employee.objects.get(pk = id)
   emp.delete()
   return HttpResponse('deleted')
Run Code Online (Sandbox Code Playgroud)

在urls.py中你需要两个这样的条目:

(r'^delete/(\d+)/$','myproject.myapp.views.delete'),
(r'^update/(\d+)/$','myproject.myapp.views.update'),
Run Code Online (Sandbox Code Playgroud)

我建议你看看文档

  • 对于那些在这一点上提出这个问题的人:你不一定要直接去`request.POST.get`,你肯定想要使用`is_valid()`.[参见django关于验证的文档](https://docs.djangoproject.com/en/1.8/ref/forms/validation/)......它非常广泛且设计得非常好. (2认同)