This is frustrating. I need to slow down before posting. I wanted to make it clear that I still have the problem, it's just that I was correcting the way I typed out the example in this forum.
On Jan 30, 2:03 pm, steve <steveb...@gmail.com> wrote: > Dang, I need to make a correction. Meant to type: > > Ingr = IngredientEditForm(request.POST, instance=Item), > > not: > instance=I > > On Jan 30, 2:01 pm, steve <steveb...@gmail.com> wrote: > > > Hi everyone, this issue is related simply to using jquery's $.post to > > send some data to my view. I want to edit an item via Ajax (i..e the > > way de.li.cious lets you edt an item without refreshing page) : > > > JAVASCRIPT > > ------------- > > <pre> > > data = { "name":"apple", > > "id":ingred_id, > > "category":"", > > "stock_status":0, > > "storename":"albertsons", > > "user":0 > > }; > > > $.post(url,data,processSuccessfulEdit, "json"); > > </pre> > > > VIEWS.PY > > ----------- > > # first get the item to edit----------- > > id = request.POST['id'] > > Item = Ingredient.objects.get(pk=int(id)) > > > # then save it > > Ingr = IngredientEditForm(request.POST, instance=I) > > Ingr.save() > > > The problem is that the form validation fails. And it's because I'm > > sending a blank string in the category field. This field, in the > > Ingredient table, is null=TRUE, so I was expecting it to work. > > > If I launch a python shell manually and run this: > > ---------------------------------- > > p = Ingredient > > (name="testingr",category_id="",stock_status=1,user_id=0,storename="vons") > > p.save() > > > It works, it gets inserted succesfully. Django accepts the blank > > string and creates a record with this foreign integer field as null. > > > I'm thinking I should put aside the usage of ModelForm for now and > > manually do the updating of the record in the view function, unless > > there's something I'm not doing right. > > > Wondering if anyone had run into this > > thanks, > > Steve > > ===================================================== > > > in case needed, here is the modelform class as well > > -------------------------------------------------------------- > > class IngredientEditForm(ModelForm): > > class Meta: > > model = Ingredient > > > class Ingredient(models.Model): > > name = models.CharField(max_length=250) > > stock_status = models.PositiveSmallIntegerField() > > category = models.ForeignKey(Ingredcategory, null=True) > > user = models.ForeignKey(FhyUser) > > storename = models.CharField(max_length=50) > > > def __unicode__(self): > > return self.name > > class Meta: > > db_table = u'ingredient' --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---