On Monday, 2 July 2012 20:47:40 UTC+1, Sam007 wrote:
>
> Hi Djangoers,
>
> I am almost completing my first tutorial but got stuck at the last point. 
> So I am assigning Choice object to 'c',
>
> c = p.choice_set.filter(choice_text__startswith='Just')
>
> And I am getting this output when I check 'c'
>
> [<Choice: Just Hacking again>]
>
> And I am also getting the right output for 'p'
>
> <Poll: WASSUP!!!!>
>
> But when I am executing,
>
>  c.poll
>
>
> This is my output,
>
> Traceback (most recent call last):
>   File "<console>", line 1, in <module>
> AttributeError: 'QuerySet' object has no attribute 'poll'
>
> Not sure where I am going wrong?
>
> -- 
> Thanks & Regards
> Smaran Harihar
>
>
You're not assigning a Choice object to `c`. You're assigning a queryset 
(basically, a list) of one Choice objects to c - hence the square brackets 
when you print it. As the documentation explains, `filter` *always* returns 
a queryset, even if only one object matches.

You can do c[0] to get the Choice object, or use `get()` instead of 
`filter()` (although note that will raise an exception if zero or > 1 
objects match).
--
DR.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/p-sNQq_41PUJ.
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