def includes(self, relation, *conditions, foreign_key_relation=False): include_condition = condition.includes(relation, list(conditions), foreign_key_relation) return query.SelectQuery( models.ForeignKeyTestModel if foreign_key_relation else models.RelationshipTestModel, [include_condition], )
def where(cls, transaction: Optional[spanner_transaction.Transaction], *conditions: condition.Condition) -> List[ModelObject]: """Retrieves objects from Spanner based on the provided conditions. Args: transaction: The existing transaction to use, or None to start a new transaction *conditions: Instances of subclasses of Condition that help specify which objects should be retrieved Returns: A list containing all requested objects that exist in the table (can be an empty list) """ builder = query.SelectQuery(cls, conditions) args = [builder.sql(), builder.parameters(), builder.types()] results = cls._execute_read(table_apis.sql_query, transaction, args) return builder.process_results(results)
def select(self, *conditions): return query.SelectQuery(models.UnittestModel, list(conditions))
def includes(self, relation, *conditions): include_condition = condition.includes(relation, list(conditions)) return query.SelectQuery(models.RelationshipTestModel, [include_condition])