Thanks!!

On Oct 8, 2:19 pm, Malcolm Tredinnick <[EMAIL PROTECTED]>
wrote:
> On Mon, 2007-10-08 at 12:14 -0700, Dan Goldner wrote:
> > Hello,
> > Is it possible to use filter() to query objects based on comparisons
> > among attributes of the same object? For example, if my model Task has
> > two attributes start_year and end_year and I want to select all tasks
> > where start_year was somehow set later than end_year, I would try
> > something like
>
> >     q_backwards = models.Task.objects.filter(end_year__lt =
> > start_year)
>
> > but that gives a NameError ("global name start_year is not defined").
> > Is there any way to reference model object properties on the right
> > hand side of the filter argument?
>
> > All of the query examples in the docs compare the value of some
> > attribute to a constant. If the answer is that you can't compare one
> > attribute to another, is there a preferred strategy for this? A model
> > method, or custom SQL (hoping to avoid that 'cause I'd have to learn
> > SQL) or ....?
>
> At the moment, this requires custom SQL. That is partly why the "where"
> parameter to extra() exists.
>
> It will be possible in the future to do a lot of this type of thing more
> directly. Russell Keith-Magee had a clever idea a few months back about
> how we can make this work with a reasonable syntax -- using something
> similar to Q() objects -- and in the near future (certainly before 1.0),
> we'll flesh this out and implement it. All the supporting infrastructure
> is in place in the queryset-refactor branch and once that's merged we
> can fill in the details of his dastardly plan and make it happen.
>
> Regards,
> Malcolm


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to