如何在Django中编辑和删除数据?
我正在使用django 1.0,并且已经按照Django书中的示例创建了我的模型。我可以进行基本的数据添加功能;现在我需要一种方法来获取这些数据,把它们加载到一个表单中(是change_form吗?还是别的什么),编辑它,然后再保存回数据库。其次,我该如何删除数据库中的数据呢?也就是说,搜索、选择然后删除!
请给我一个我需要在我的view.py
和urls.py
中编写的代码示例,以完成这个任务。
3 个回答
-9
请阅读以下内容:Django 管理网站。然后再把你的问题修改得更具体一些。
3
要完成这两件事情,你需要用到一种叫做查询的东西。
下面的链接有很棒的文档,可以帮助你了解这些内容!
(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。
35
假设你有一个叫做 Employee 的模型。如果你想修改一个主键为 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'),
我建议你去看看 文档