or_() expects you to use the raw PostgREST syntax for the filter names and values.
.or_('id.in.(5,6,7), arraycol.cs.\{"a","b"\}') # Use `()` for `in` filter, `\{\}` for array values and `cs` for `contains()`.
.or_('id.in.(5,6,7), arraycol.cd.\{"a","b"\}') # Use `cd` for `containedBy()`
The filters to use, following PostgREST syntax
Set this to filter on referenced tables instead of the parent table
response = (
supabase.table("countries")
.select("name")
.or_("id.eq.2,name.eq.Algeria")
.execute()
)
response = (
supabase.table("countries")
.select("name")
.or_("id.gt.3,and(id.eq.1,name.eq.Afghanistan)")
.execute()
)
response = (
supabase.table("countries")
.select("name, cities!inner(name)")
.or_("country_id.eq.1,name.eq.Beijing", reference_table="cities")
.execute()
)