On Thu, Jun 23, 2011 at 2:21 PM, Cal Leeming [Simplicity Media Ltd] <cal.leeming@simplicitymedialtd.co.uk> wrote:
-- The problem:
Utility.objects.filter(person=1144) # works fine
Payee.objects.filter(person=26) # gives us FieldError: Cannot resolve
keyword 'person' into fieldIs this what you need??Payee.objects.filter(person = Person(id=26))or.. Payee.objects.filter(person__id = 26) - but this would be slightly more performance hitting i think.
or just
Payee.objects.filter(person_id=26)
person__id is a field lookup on the person model, so (in theory) Django will contruct the SQL join, and test the person.id column. person_id is a column in the payee table, and Django will construct SQL which compares against that.
I don't know if there's any practical difference in performance -- I would hope that any decent SQL query optimizer should be able to change
into
select payee.* from payee where person_id = 26
Regards,
Ian Clelland
<clelland@gmail.com>
--
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.
No comments:
Post a Comment