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
-~----------~----~----~----~------~----~------~--~---

Reply via email to