On 16 Sep 2006, at 12:42, Malcolm Tredinnick wrote:
> > On Sat, 2006-09-16 at 12:25 +0100, Tom Smith wrote: >> How would I build an "AND" query... >> >> for example... >> >> words = ['chicken', 'beef', 'lamb'] >> Recipe.objects.exclude(title__contains=words) >> >> I don't want to do 3 queries... > > Please start a new thread for new topics, rather than dropping into > the > middle of an existing thread like this. > > To answer your question: have a look at > http://www.djangoproject.com/documentation/db_api/#complex-lookups- > with-q-objects Thanks... That documentation has allowed me to use the __in method... like this... Recipe.objects.exclude(category__in=words) ...which is great, but now having set words to and empty list [] I get the error... (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))) AND (NOT (`myproject_product`.`category` IN ())))' at line 1") So... would it be possible to do this? o = Recipe.objects if len(words) > 1: o.exclude(category__in=words) if len(someotherlist) > 1: o.exclude(someotherfield__in= someotherlist) o.execute() ...or would the first line go off and get all the objects (I have about a million records)? Thanks tom --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---