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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to