Hey Ajaxer,
  Yes, GQL has an IN operator.  You can use it via GqlQuery or the Query object.
     http://code.google.com/appengine/docs/python/datastore/gqlreference.html
     http://code.google.com/appengine/docs/python/datastore/queryclass.html

>From the docs:
Note: The IN and != operators use multiple queries behind the scenes.
For example, the IN operator executes a separate underlying datastore
query for every item in the list. The entities returned are a result
of the cross-product of all the underlying datastore queries and are
de-duplicated. A maximum of 30 datastore queries are allowed for any
single GQL query.



Robert









On Tue, Nov 9, 2010 at 23:42, ajaxer <calid...@gmail.com> wrote:
> thanks.
>
> there is no 'or' in gql?
>
>    records = QMessage.gql('where time > :1 and room = :2 and fromUser
> = :3 or toUser = :3 order by time limit', time, room, user)
>
>
> BadQueryError: Parse Error: Expected no additional symbols at symbol
> or
>
> On Nov 10, 1:01 am, Robert Kluin <robert.kl...@gmail.com> wrote:
>> http://code.google.com/appengine/docs/python/datastore/queriesandinde...
>>
>> I am just guessing about your application, but I would drop the user
>> filter from the query and handle it in your app code.  Or you can run
>> two queries and merge the results yourself.
>>
>> Robert
>>
>>
>>
>>
>>
>>
>>
>> On Tue, Nov 9, 2010 at 11:39, ajaxer <calid...@gmail.com> wrote:
>> > BadFilterError: BadFilterError: invalid filter: Only one property per
>> > query may have inequality filters (&lt;=, &gt;=, &lt;, &gt;)..
>>
>> > my code:
>>
>> >    records = QMessage.all().filter('room = ', room).filter('isPrivate
>> > =',
>> >      False).filter('fromUser !=', user).filter('time > ', time)
>>
>> > how can i solve this problem?
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "Google App Engine" group.
>> > To post to this group, send email to google-appeng...@googlegroups.com.
>> > To unsubscribe from this group, send email to 
>> > google-appengine+unsubscr...@googlegroups.com.
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to google-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to 
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to