try this:
form.save(commit=False)
form.autor = request.user
form.save()
On Aug 21, 12:24 pm, "Genis Pujol Hamelink" <[EMAIL PROTECTED]>
wrote:
> Hello,
>
> I'm trying to pass a the id of the user logged in to a form field, but it
> doesn't seem to work... any ideas / suggestions?
>
> Thanks in advance :)
>
> Here are the view, model and form objects:
>
> View:
>
> def punts_form3(request):
>
> if request.method == 'POST':
> form = form_puntsn3(request.POST, request.FILES)
> form.autor_id = request.session['_auth_user_id'] --> I get an
> error message ""Column 'autor_id' cannot be null")"
> if form.is_valid():
> form.save()
> return HttpResponseRedirect(".")
>
> else:
>
> form = form_puntsn3()
>
> t = loader.get_template('htmls/punts_form3.html')
>
> c = Context({
> 'form': form,
> })
> return HttpResponse(t.render(c))
>
> Model:
>
> class puntmanager(models.Manager):
> def create_punt(self,lat,lng,descr,erico,precisio,autor,quan,esvalid):
> punt_nou =
> self.model(None,lat,lng,descr,erico,precisio,autor,quan,esvalid)
> punt_nou.save()
> return punt_nou
>
> class puntsn3(models.Model):
> lat = models.FloatField(max_digits=16, decimal_places=14)
> lng = models.FloatField(max_digits=16, decimal_places=14)
> #imatge = models.ImageField(upload_to='img', blank=True, null=True)
> descr = models.TextField('Desc', maxlength=500,blank=True, null=True)
> erico = models.CharField(maxlength=1, choices=TIPUS_ERICONS)
> precisio = models.CharField(maxlength=1, choices=NIV_PREC)
> autor = models.ForeignKey(User)
> quan = models.DateField()
> esvalid = models.BooleanField(default='0',editable=False)
> objects = puntmanager()
>
> class form_puntsn3(newforms.Form):
> lat = newforms.IntegerField()#max_digits=16, decimal_places=14)
> lng = newforms.IntegerField()#max_digits=16, decimal_places=14)
> #imatge = newforms.Field(widget=newforms.FileInput())
> descr = newforms.CharField()
> erico = newforms.ChoiceField(choices=TIPUS_ERICONS)
> precisio = newforms.ChoiceField(choices=NIV_PREC)
> autor = newforms.IntegerField(required=False)
> quan = newforms.DateField(initial='2008-01-01',
> widget=SelectDateWidget(years=range(2010, 2005, -1)))
> esvalid = newforms.IntegerField(required=False)
> def save(self):
> nou_obj = puntsn3.objects.create_punt(lat=self.clean_data['lat'],
> lng=self.clean_data['lng'],
> descr=self.clean_data['descr'],
> erico=self.clean_data['erico'],
>
> precisio=self.clean_data['precisio'],
> autor=self.clean_data['autor'],
> quan=self.clean_data['quan'],
> esvalid=self.clean_data['esvalid']
> )
> return nou_obj
>
> --
> Genis
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---