SOLVED! It was a typo, the action attribute was pointing to the wrong view. Thanks a lot for the help!
/Torbjörn 2010/11/8 Knut Ivar Nesheim <knu...@gmail.com> > Look at the HTML for the form. The 'action' attribute tells the > browser where to submit the post. The view responsible for that URL is > the one you should be looking at. > > If you have a ModelForm with no instance, Django will insert a new > row. If there is an instance and you call form.save(), it will be > updated (unless you have mucked about with model.pk or are forcing an > insert) > > And to answer the "return to" question. Whenever you do: > > return HttpResponseRedirect('/url/') > > it will appear as a completely new request to '/url/'. No magic going on > here. > > Where it can get confusing is if you are using the 'reverse' or > 'redirect' functions, which will do a reverse lookup of urls or views > based on url name or method name. If you have multiple urls with the > same name and arguments, for instance, you can run into problems. > > > On Mon, Nov 8, 2010 at 9:48 PM, Torbjörn Lundquist > <torbjorn.lundqu...@googlemail.com> wrote: > > That did not help. > > I think I know what the problem is but I don't know how to solve it: > > It seems that when I press the Submit button I jump to another > view-function > > (that inserts a new course). So, I use the same form i two different > places, > > both for insert and update. How does django know which view-function it > > should "return" to? > > /Torbjörn > > 2010/11/7 cootetom <coote...@gmail.com> > >> > >> This is a tough one, everything looks okay. I would try removing the > >> categories variable from your model class just to see if that is > >> causing problems. By the way, you can get that categories list from an > >> instance of the Course class in the following way > >> c.coursecategories_set.all() presuming CourseCategory has a foreign > >> key back to Course and c = a Course instance. > >> > >> The other thing to check is the POST. Perhaps if it contains a key > >> named "id" it would cause an insert, just a guess though. > >> > >> > >> > >> On Nov 7, 7:09 pm, Torbjorn <torbjorn.lundqu...@googlemail.com> wrote: > >> > Here is the model: > >> > > >> > class Course(models.Model): > >> > title = models.CharField(max_length=255) > >> > owner = models.ForeignKey(User) > >> > > >> > def __unicode__(self): > >> > return self.title > >> > > >> > def _getCategories(self): > >> > cc = CourseCategories.objects.filter(course=self) > >> > return cc > >> > > >> > categories = property(_getCategories) > >> > > >> > and the form: > >> > > >> > class PartialCourseForm(ModelForm): > >> > class Meta: > >> > model = Course > >> > exclude = ('owner') > >> > > >> > Thanks > >> > /Torbjörn > >> > > >> > On 7 Nov, 16:34, Marc Aymerich <glicer...@gmail.com> wrote: > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > On Sun, Nov 7, 2010 at 4:21 PM, Torbjorn > >> > > >> > > <torbjorn.lundqu...@googlemail.com> wrote: > >> > > > Hi, I want to update a record but somehow it becomes an INSERT > >> > > > instead. This is my code: > >> > > >> > > > def editcourse(request, course_id): > >> > > > course= Course.objects.get(id=course_id) > >> > > > if request.method == 'POST': > >> > > > form = PartialCourseForm(request.POST, instance=course) > >> > > > if form.is_valid(): > >> > > > form.save() > >> > > > return HttpResponseRedirect("/courses/") > >> > > > else: > >> > > > form = PartialCourseForm(instance=course) > >> > > >> > > > return render_to_response("editcourse.html", {'form':form}) > >> > > >> > > > What do I wrong? > >> > > >> > > Can you paste your course model? > >> > > >> > > -- > >> > > Marc > >> > >> -- > >> 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<django-users%2bunsubscr...@googlegroups.com> > . > >> For more options, visit this group at > >> http://groups.google.com/group/django-users?hl=en. > >> > > > > -- > > 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<django-users%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/django-users?hl=en. > > > > -- > 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<django-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- 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.