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

2024-06-13 14:11:33 发布

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

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

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


Tags: 数据django方法py模型formview数据库
3条回答

请阅读以下内容:The Django admin site。然后用具体的细节来修改你的问题。

要执行这两种操作,您需要使用一种称为查询的方法。

请查看下面的链接,以获取关于该问题的非常棒的文档! (https://docs.djangoproject.com/en/2.2/topics/db/queries/

要删除数据:

b = ModelName.objects.get(id = 1)
b.delete()

这将删除ID为1的模型的对象

编辑数据:

b = ModelName.objects.get(id = 1)
b.name = 'Henry'
b.save()

这将把ID为1的模型对象的名称改为Henry

假设你有一个模范员工。要使用主键emp_id编辑条目,请执行以下操作:

emp = Employee.objects.get(pk = emp_id)
emp.name = 'Somename'
emp.save()

要删除它,请执行以下操作:

emp.delete()

所以一个完整的观点是:

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')

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

(r'^delete/(\d+)/$','myproject.myapp.views.delete'),
(r'^update/(\d+)/$','myproject.myapp.views.update'),

我建议你看看docs

相关问题 更多 >