Many thanks Karen. This worked perfectly (though the 'name' attribute is just name without the quotes).
Cheers, Ken On 5 Mar, 01:42, Karen Tracey <kmtra...@gmail.com> wrote: > On Thu, Mar 4, 2010 at 2:24 PM, Ken <ken.w.sm...@gmail.com> wrote: > > Thanks for your example, but whilst you're correct about Person.id not > > getting updated, all the other columns do get changed (even if it is > > to the same value). > > > Here's my code... > > > class TcsDetectionListsForm(forms.Form): > > name = forms.CharField() > > > def candidateWithForm(request, tcs_transient_objects_id): > > detectionListRow = TcsDetectionLists.objects.get(pk=0) > > if request.method == 'POST': > > > > > > > form = TcsDetectionListsForm(request.POST) > > if form.is_valid(): # All validation rules pass > > detectionListRow.name = form.cleaned_data['name'] > > detectionListRow.save() > > else: > > form = TcsDetectionListsForm(initial={'name': > > detectionListRow.name }) > > > Here's what happened in the database (from the DB log): > > > 223592 Query UPDATE `tcs_detection_lists` SET `name` = 'rubbish', > > `description` = 'Bad Candidates' WHERE `tcs_detection_lists`.`id` = 0 > > > We shouldn't be updating the 'description' column. If my security > > settings were in place, this query would fail, because my DB user only > > has update access to the 'name' column. > > TcsDetectionLists.objects.filter(pk=0).update('name'=form.cleaned_data['nam > e']) > > will produce an SQL UPDATE that only touches the name column. > > Karen -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.