Querying¶
A package for objects in Python and mapping them to QuickBase-expected JSON.
QueryBase¶
-
class
quickbase_client.
QuickBaseQuery
(where, options=None, group_by=None, sort_by=None, select=None)¶ A base object for all of the data for a query.
- Variables
where – The where string, e.g.
"{7.EX.'18'}"
AST Query Building Methods¶
This module includes functions which create QuickBaseQuery
objects.
These can be assembled in an AST-like fashion to build a complex query using higher-level
english-readable functions rather than going through the query language (note you can always
create a QuickBaseQuery
and provide the where string to use that).
Example:
schema = MyTable.schema
my_query = and_(
eq_(schema.date_opened, schema.date_created),
on_or_before_(schema.date_closed, date(2020, 11, 16))
)
print(my_query.where) # ({'9'.EX.'_FID_1'}AND{'10'.OBF.'11-16-2020'})
All of the methods (except the two conjunction ones), take a
QuickBaseField
and a value as a parameter. If you pass a QuickBaseField
for the value, it will compare to the actual field (see above). But note if you pass
an attribute of a QuickBaseTable class it would be the value in memory of that attribute.
If you want to compare to the actual field, use the schema property of the table or
quickbase_client.QuickBaseTable.get_field_info()
.
Note all of these methods are named with a trailing _
to maintain consistency and
never clash with a python keyword or anything.
-
quickbase_client.query.
or_
(*clauses)¶ Conjunction to join 2 or more logical
OR
’s.
-
quickbase_client.query.
and_
(*clauses)¶ Conjunction to join 2 or more logical
AND
’s.
-
quickbase_client.query.
contains_
(field, val)¶ Contains (CT).
-
quickbase_client.query.
not_contains_
(field, val)¶ Not Contains (XCT).
-
quickbase_client.query.
has_
(field, val)¶ Has (HAS).
-
quickbase_client.query.
not_has_
(field, val)¶ Not Has (XHAS).
-
quickbase_client.query.
eq_
(field, val)¶ Equal/Exactly (EX).
-
quickbase_client.query.
not_eq_
(field, val)¶ Not Equal (XEX).
-
quickbase_client.query.
starts_with_
(field, val)¶ Starts With (SW).
-
quickbase_client.query.
not_starts_width_
(field, val)¶ Not Starts With (XSW).
-
quickbase_client.query.
before_
(field, val)¶ Before (BF).
-
quickbase_client.query.
on_or_before_
(field, val)¶ On or Before (OBF).
-
quickbase_client.query.
after_
(field, val)¶ After (AF).
-
quickbase_client.query.
on_or_after_
(field, val)¶ On or After (OAF).
-
quickbase_client.query.
during_
(field, val)¶ During (IR).
-
quickbase_client.query.
not_during_
(field, val)¶ Not During (XIR).
-
quickbase_client.query.
lt_
(field, val)¶ Less than (LT).
-
quickbase_client.query.
lte_
(field, val)¶ Less than or Equal (LTE).
-
quickbase_client.query.
gt_
(field, val)¶ Greater than (GT).
-
quickbase_client.query.
gte_
(field, val)¶ Greater than or Equal (GTE).