I think this may be a simple misunderstanding of the Python if statement. You said "when I try to edit, it always enters the else condition, delete works fine". Your code structure is this:
if edit: # do edit if delete: # do delete else: # do something else If you change "if delete" to "elif delete", it will work the way you want. You code is first checking for edit, then checking for delete, and the else only applies to the "if delete". In the edit case, "if delete" is false, so of course you are entering the else clause. --Ned. http://nedbatchelder.com Malcolm Tredinnick wrote: > On Sun, 2009-01-18 at 12:11 +0800, shreyas k wrote: > >> Hi Malcolm, >> sorry the indent was lost when i copy pasted the code , the try >> statement is actually properly indented .And the if if request.method >> == 'GET': >> is followed by if request.method == 'POST': > i have also trimmed the >> code .I use post for update and add new .Editing and deleteing,listing >> is done using GET request. >> > > That's probably a bad idea, in the sense that it's against the > recommendations of the HTTP specification. Both editing and deleting are > actions that significantly change the state of the system (they aren't > "safe" operations). So using GET for them is not recommended. > > >> if request.method == 'GET': >> if 'edit_id' in request.GET: >> try: >> tst = TEST_QST.objects.get(pk=request.GET['edit_id']) >> SaveQstForm = forms.form_for_instance(tst) >> SaveQstForm related code here >> form= SaveQstForm() >> except Exception, e: >> import logging >> logging.error('%s while editing' % (e)) >> >> >> if 'delete_id' in request.GET: >> > > So if you expect the code to pass through this line successfully and it > doesn't, the obvious thing to investigate is what does request.GET > contain? You still haven't revealed what the form looks like (or a > cut-down version of the form, at least, that reveals the problem without > requiring us to wade through 350 lines of HTML :-) ). Is delete_id a > field in the form? Will it always be submitted (for example, checkboxes > that aren't checked are not submitted with a form)? What does > request.GET contain? > > I'll wager that looking at the contents of request.GET will give you > (not necessarily us) enough of a clue to work out what's going wrong. > You'll see that it's either nothing like what you expect, or it's only > missing that particular form parameter and you'll be able to work out > why it's missing. > > Regards, > Malcolm > > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Sun, Jan 18, 2009 at 10:25 AM, Malcolm Tredinnick >> <malc...@pointy-stick.com> wrote: >> >> On Sun, 2009-01-18 at 10:21 +0800, shreyas k wrote: >> > Hi , >> > >> > I have pasted the code here , when i try to edit it always >> enters the >> > else condition. delete works fine >> > Please assist. >> >> >> There's a lot of code here and much of it isn't indented >> correctly (for >> example, there's a "try:" statement that isn't followed by an >> indented >> block), so it's hard to be sure what might be the problem. Try >> trimming >> away as much as possible to reduce things to the smallest >> possible >> example. >> >> One obvious guess here, though, is that you are only checking >> for the >> GET method. If you're submitting a form that is going to >> delete >> something, it would hopefully be done using the POST method. >> So >> delete_id won't be in request.GET. It will be in request.POST >> and should >> be handled by the branch of your code that is handling >> request.method >> being equal to "POST". This is only a guess, though, since I >> don't know >> how you are submitting data from the form to this view or what >> data the >> form contains. >> >> Regards, >> Malcolm >> >> >> >> >> >> >> > > > > > > > -- Ned Batchelder, http://nedbatchelder.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---