actions
FilterAction
Bases: QueryAction
Filter Actions is populated by queryset when filter() is called.
All required params are extracted but kept raw until actual filter clause value is required -> then the action is converted into text() clause.
Extracted in order to easily change table prefixes on complex relations.
Source code in ormar\queryset\actions\filter_action.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
get_text_clause()
Escapes characters if it's required. Substitutes values of the models if value is a ormar Model with its pk value. Compiles the clause.
Returns:
Type | Description |
---|---|
sqlalchemy.sql.elements.TextClause
|
complied and escaped clause |
Source code in ormar\queryset\actions\filter_action.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
has_escaped_characters()
Check if value is a string that contains characters to escape
Source code in ormar\queryset\actions\filter_action.py
63 64 65 66 67 |
|
OrderAction
Bases: QueryAction
Order Actions is populated by queryset when order_by() is called.
All required params are extracted but kept raw until actual filter clause value is required -> then the action is converted into text() clause.
Extracted in order to easily change table prefixes on complex relations.
Source code in ormar\queryset\actions\order_action.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
|
check_if_filter_apply(target_model, alias)
Checks filter conditions to find if they apply to current join.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target_model |
Type[Model]
|
model which is now processed |
required |
alias |
str
|
prefix of the relation |
required |
Returns:
Type | Description |
---|---|
bool
|
result of the check |
Source code in ormar\queryset\actions\order_action.py
103 104 105 106 107 108 109 110 111 112 113 114 |
|
get_field_name_text()
Escapes characters if it's required. Substitutes values of the models if value is a ormar Model with its pk value. Compiles the clause.
Returns:
Type | Description |
---|---|
sqlalchemy.sql.elements.TextClause
|
complied and escaped clause |
Source code in ormar\queryset\actions\order_action.py
45 46 47 48 49 50 51 52 53 54 55 |
|
get_min_or_max()
Used in limit sub queries where you need to use aggregated functions in order to order by columns not included in group by. For postgres bool field it's using bool_or function as aggregates does not work with this type of columns.
Returns:
Type | Description |
---|---|
sqlalchemy.sql.elements.TextClause
|
min or max function to order |
Source code in ormar\queryset\actions\order_action.py
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|
get_text_clause()
Escapes characters if it's required. Substitutes values of the models if value is a ormar Model with its pk value. Compiles the clause.
Returns:
Type | Description |
---|---|
sqlalchemy.sql.elements.TextClause
|
complied and escaped clause |
Source code in ormar\queryset\actions\order_action.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
SelectAction
Bases: QueryAction
Order Actions is populated by queryset when order_by() is called.
All required params are extracted but kept raw until actual filter clause value is required -> then the action is converted into text() clause.
Extracted in order to easily change table prefixes on complex relations.
Source code in ormar\queryset\actions\select_action.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|