python - int() argument must be a string or a number, not 'SimpleLazyObject' django -


this question has answer here:

i'm passing necessary reach follow function not working reason

error: typeerror @ /follow/1/  

in views.py

def follow(request, pk):     following, created = following.objects.get_or_create(         follow_from_id=request.user,         follow_to_id=pk)     return redirect('login') 

in models.py

class following(models.model):     follow_from = models.foreignkey("auth.user",related_name='from_person')     follow_to = models.foreignkey("auth.user", related_name='to_person')     date_follow = models.datetimefield(auto_now=true)      def __unicode__(self):         return unicode(self.date_follow)      def __str__(self):         return self.date_follow 

template

<a href="{% url 'follow' l.pk %}"> 

in urls.py

url(r'^follow/(?p<pk>\d+)/$', follow, name='follow'), 

follow_from field foreign key user model. in filter, comparing id user instance.

your filter follow_from, should it:

follow_from=request.user 

but, if want compare id, extract id user instance

follow_from_id=request.user.id 

Comments