models
check_required_meta_parameters(new_model)
Verifies if ormar.Model has database and metadata set.
Recreates Connection pool for sqlite3
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_model |
Type[Model]
|
newly declared ormar Model |
required |
Source code in ormar\models\helpers\models.py
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
|
extract_annotations_and_default_vals(attrs)
Extracts annotations from class namespace dict and triggers extraction of ormar model_fields.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
attrs |
Dict
|
namespace of the class created |
required |
Returns:
Type | Description |
---|---|
Tuple[Dict, Dict]
|
namespace of the class updated, dict of extracted model_fields |
Source code in ormar\models\helpers\models.py
131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
|
group_related_list(list_)
Translates the list of related strings into a dictionary. That way nested models are grouped to traverse them in a right order and to avoid repetition.
Sample: ["people__houses", "people__cars__models", "people__cars__colors"] will become: {'people': {'houses': [], 'cars': ['models', 'colors']}}
Result dictionary is sorted by length of the values and by key
Parameters:
Name | Type | Description | Default |
---|---|---|---|
list_ |
List
|
list of related models used in select related |
required |
Returns:
Type | Description |
---|---|
Dict[str, List]
|
list converted to dictionary to avoid repetition and group nested models |
Source code in ormar\models\helpers\models.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
|
is_field_an_forward_ref(field)
Checks if field is a relation field and whether any of the referenced models are ForwardRefs that needs to be updated before proceeding.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
field |
BaseField
|
model field to verify |
required |
Returns:
Type | Description |
---|---|
bool
|
result of the check |
Source code in ormar\models\helpers\models.py
16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
meta_field_not_set(model, field_name)
Checks if field with given name is already present in model.Meta. Then check if it's set to something truthful (in practice meaning not None, as it's non or ormar Field only).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model |
Type[Model]
|
newly constructed model |
required |
field_name |
str
|
name of the ormar field |
required |
Returns:
Type | Description |
---|---|
bool
|
result of the check |
Source code in ormar\models\helpers\models.py
179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
|
populate_default_options_values(new_model, model_fields)
Sets all optional Meta values to it's defaults and set model_fields that were already previously extracted.
Here should live all options that are not overwritten/set for all models.
Current options are: * constraints = [] * abstract = False
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_model |
Type[Model]
|
newly constructed Model |
required |
model_fields |
Dict
|
dict of model fields |
required |
Source code in ormar\models\helpers\models.py
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 |
|
substitue_backend_pool_for_sqlite(new_model)
Recreates Connection pool for sqlite3 with new factory that executes "PRAGMA foreign_keys=1; on initialization to enable foreign keys.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_model |
Type[Model]
|
newly declared ormar Model |
required |
Source code in ormar\models\helpers\models.py
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|