【问题标题】:How to delete an entry object object如何删除条目对象对象
【发布时间】:2010-12-17 13:56:29
【问题描述】:

我可以使用具有 mysql 背景的 Django 创建一个表单。我想知道是否可以创建一个允许您删除对象的代码。所以假设我有一个名为“Tony”的客户端,我想创建一些允许我删除 Tony 的 python 代码。我该怎么做?

#forms.py
from django import forms
from c2duo.accounts.models import *

class ClientForm(forms.ModelForm):
    client_number = forms.IntegerField()
    name = forms.CharField(max_length=80)
    address = forms.CharField(max_length=250)
    telephone = forms.CharField(max_length=20)
    fax = forms.CharField(max_length=20)
    email = forms.EmailField()
    alternative_name = forms.CharField(max_length=80, required=False)
    alternative_address = forms.CharField(max_length=250, required=False)
    alternative_telephone = forms.CharField(max_length=20, required=False)
    alternative_email = forms.EmailField(required=False)

        class Meta:
        model = Client
        fields = ('client_number','name','address','telephone','fax','email','alternative_name','alternative_address','alternative_telephone','alternative_email'

#views.py 
@login_required
def add_client(request):
    if request.method == 'POST':
        form = ClientForm(request.POST or None)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/index/')
    else:
        form = ClientForm()
    return render_to_response('add_client.html', {'form': form},  context_instance=RequestContext(request))

【问题讨论】:

  • 写一个删除它的视图。

标签: django forms object models


【解决方案1】:
def delete_client(request, client_id): 
    client = Client.objects.get(id=client_id)
    client.delete()
    redirect_to = '/index/'
    return HttpResponseRedirect(redirect_to) 

【讨论】:

  • 好的,这行得通。我想问你一个问题。假设您有一个可以工作的表单,但想要编写一个可以“编辑”该表单的视图。你会怎么写?这个问题我很久了。
  • 可以编辑表单的视图。换句话说,就是编辑现有的表单。
  • def edit_client(request, client_id): client = Client.objects.get(id=client_id) if request.method == 'POST': client_form = ClientForm(request.POST, instance=client) if client_form.is_valid(): client_form.save() redirect_to = '/index/' return HttpResponseRedirect(redirect_to) else: client_form = ClientForm(instance=client)
猜你喜欢
  • 2021-10-14
  • 2014-10-20
  • 1970-01-01
  • 2013-10-28
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多