-   Base class for all query expressions.  
-   An SQL searched CASE expression:  
-  
-   Provide the ability to combine one or two objects with some connector. For example F('foo') + F('bar').  
-  
-  
-  
-   An expression that can be combined with other expressions.  
-   An expression containing multiple expressions. Can be used to provide a list of expressions as an argument to another expression, like an ordering clause.  
-   An expression that can wrap another expression so that it can provide extra context to the inner expression, such as the output_field.  
-   An object capable of resolving references to existing query objects.  
-   An SQL function call.  
-  
-  
-  
-   Reference to column alias of the query. For example, Ref('sum_cost') in qs.annotate(sum_cost=Sum('cost')) query.  
-   An object that contains a reference to an outer query.  
-  
-   Some expressions with output_field=DecimalField() must be cast to numeric to be properly filtered.  
-  
-   An explicit subquery. It may contain OuterRef() references to the outer query which will be resolved when it is applied to that query.  
-  
-   Represent a wrapped value as a node within an expression.  
-  
-  
-  
-   Model the frame clause in window expressions. There are two types of frame