I have Homework objects that are related to Course objects for a
school related Django app. I can access Course and Homework objects
but there is one Homework query at the end of this email that bombs
and I don't know why.
===================================================================
First I'll show a few working queries to show that everything is sane
and working....
===================================================================
>>> Course.objects.filter(subject="Algebra 1", year=2011, session="Fall")
[<Course: Course object>]
>>> Course.objects.filter(year=2011)
[<Course: Course object>, <Course: Course object>, <Course: Course
object>, <Course: Course object>, <Course: Course object>, <Course:
Course object>, <Course: Course object>, <Course: Course object>,
<Course: Course object>, <Course: Course object>]
>>> course = Course.objects.filter(year=2011)[0]
>>> Homework.objects.filter(course=course)
[<Homework: Homework object>, <Homework: Homework object>, ... etc.]
(truncated by me)
>>> Homework.objects.filter(course__session="Fall")
[<Homework: Homework object>, <Homework: Homework object>, ... etc.]
(truncated by me)
====================================================================
Here is the mystery one that bombs and I don't know why:
====================================================================
>>> Homework.objects.filter(course__year=2011)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/django/db/models/manager.py",
line 141, in filter
return self.get_query_set().filter(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line
550, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line
568, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/usr/lib/pymodules/python2.6/django/db/models/sql/query.py",
line 1128, in add_q
can_reuse=used_aliases)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/query.py",
line 1071, in add_filter
connector)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/where.py",
line 66, in add
value = obj.prepare(lookup_type, value)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/where.py",
line 299, in prepare
return self.field.get_prep_lookup(lookup_type, value)
File "/usr/lib/pymodules/python2.6/django/db/models/fields/
related.py", line 139, in get_prep_lookup
raise TypeError("Related Field has invalid lookup: %s" %
lookup_type)
TypeError: Related Field has invalid lookup: year
>>>
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment