Coverage for sqlmodel / main.py: 97%
391 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
1from __future__ import annotations 1deafbghci
3import builtins 1deafbghci
4import ipaddress 1deafbghci
5import uuid 1deafbghci
6import warnings 1deafbghci
7from collections.abc import Callable, Mapping, Sequence, Set 1deafbghci
8from dataclasses import dataclass 1deafbghci
9from datetime import date, datetime, time, timedelta 1deafbghci
10from decimal import Decimal 1deafbghci
11from enum import Enum 1deafbghci
12from pathlib import Path 1deafbghci
13from typing import ( 1deafbghci
14 TYPE_CHECKING,
15 Annotated,
16 Any,
17 ClassVar,
18 Literal,
19 TypeAlias,
20 TypeVar,
21 Union,
22 cast,
23 get_origin,
24 overload,
25)
27from pydantic import AwareDatetime, BaseModel, Discriminator, EmailStr, NaiveDatetime 1deafbghci
28from pydantic.fields import FieldInfo as PydanticFieldInfo 1deafbghci
29from sqlalchemy import ( 1deafbghci
30 Boolean,
31 Column,
32 Date,
33 DateTime,
34 Float,
35 ForeignKey,
36 Integer,
37 Interval,
38 Numeric,
39 inspect,
40)
41from sqlalchemy import Enum as sa_Enum 1deafbghci
42from sqlalchemy.orm import ( 1deafbghci
43 Mapped,
44 RelationshipProperty,
45 declared_attr,
46 registry,
47 relationship,
48)
49from sqlalchemy.orm.attributes import set_attribute 1deafbghci
50from sqlalchemy.orm.decl_api import DeclarativeMeta 1deafbghci
51from sqlalchemy.orm.instrumentation import is_instrumented 1deafbghci
52from sqlalchemy.sql.schema import MetaData 1deafbghci
53from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid 1deafbghci
54from sqlalchemy.types import TypeEngine 1deafbghci
55from typing_extensions import dataclass_transform, deprecated 1deafbghci
57from ._compat import ( 1deafbghci
58 PYDANTIC_MINOR_VERSION,
59 BaseConfig,
60 ModelMetaclass,
61 Representation,
62 SQLModelConfig,
63 Undefined,
64 UndefinedType,
65 finish_init,
66 get_annotations,
67 get_field_metadata,
68 get_model_fields,
69 get_relationship_to,
70 get_sa_type_from_field,
71 init_pydantic_private_attrs,
72 is_field_noneable,
73 is_table_model_class,
74 sqlmodel_init,
75 sqlmodel_validate,
76)
77from .sql.sqltypes import AutoString, UTCDateTime 1deafbghci
79if TYPE_CHECKING: 1deafbghci
80 from pydantic._internal._model_construction import ModelMetaclass as ModelMetaclass
81 from pydantic._internal._repr import Representation as Representation
82 from pydantic_core import PydanticUndefined as Undefined
83 from pydantic_core import PydanticUndefinedType as UndefinedType
85NoArgAnyCallable = Callable[[], Any] 1deafbghci
86IncEx: TypeAlias = ( 1deafbghci
87 set[int]
88 | set[str]
89 | Mapping[int, Union["IncEx", bool]]
90 | Mapping[str, Union["IncEx", bool]]
91)
92SaTypeOrInstance: TypeAlias = TypeEngine[Any] | type[TypeEngine[Any]] 1deafbghci
93OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"] 1deafbghci
95MIN_ITEMS_DEPRECATION_MSG = ( 1deafbghci
96 "`min_items` is deprecated and will be removed, use `min_length` instead"
97)
98MAX_ITEMS_DEPRECATION_MSG = ( 1deafbghci
99 "`max_items` is deprecated and will be removed, use `max_length` instead"
100)
103class FieldInfo(PydanticFieldInfo): # ty: ignore[subclass-of-final-class] 1deafbghci
104 # mypy - ignore that PydanticFieldInfo is @final
105 def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: 1deafbghci
106 primary_key = kwargs.pop("primary_key", False) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
107 nullable = kwargs.pop("nullable", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
108 foreign_key = kwargs.pop("foreign_key", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
109 ondelete = kwargs.pop("ondelete", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
110 unique = kwargs.pop("unique", False) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
111 index = kwargs.pop("index", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
112 sa_type = kwargs.pop("sa_type", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
113 sa_column = kwargs.pop("sa_column", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
114 sa_column_args = kwargs.pop("sa_column_args", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
115 sa_column_kwargs = kwargs.pop("sa_column_kwargs", Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
116 if sa_column is not Undefined: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
117 if sa_column_args is not Undefined: 2vcwcFh@h)h~hQnDi*gVhXeYeyczcGh[h*haiSnEi+gWhZe0eBcCcHh]h+hbiUnFi,gXh1e2eEcFcIh^h,hciWnGi-gYh3e4eHcIcJh_h-hdiYnHi.gZh5e6eKcLcKh`h.hei0nIi/g0h7e8eNcOcLh{h/hfi2nJi:g1h9e!eQcRcMh|h:hgi4nKi;g2h#e$eTcUcNh}h;hhi6nLi=g3h%e'e
118 raise RuntimeError( 2QnSnUnWnYn0n2n4n6n
119 "Passing sa_column_args is not supported when "
120 "also passing a sa_column"
121 )
122 if sa_column_kwargs is not Undefined: 2vcwcFh@h)h~hDi*gVhXeYeyczcGh[h*haiEi+gWhZe0eBcCcHh]h+hbiFi,gXh1e2eEcFcIh^h,hciGi-gYh3e4eHcIcJh_h-hdiHi.gZh5e6eKcLcKh`h.heiIi/g0h7e8eNcOcLh{h/hfiJi:g1h9e!eQcRcMh|h:hgiKi;g2h#e$eTcUcNh}h;hhiLi=g3h%e'e
123 raise RuntimeError( 2DiEiFiGiHiIiJiKiLi
124 "Passing sa_column_kwargs is not supported when "
125 "also passing a sa_column"
126 )
127 if primary_key is not Undefined: 2vcwcFh@h)h~h*gVhXeYeyczcGh[h*hai+gWhZe0eBcCcHh]h+hbi,gXh1e2eEcFcIh^h,hci-gYh3e4eHcIcJh_h-hdi.gZh5e6eKcLcKh`h.hei/g0h7e8eNcOcLh{h/hfi:g1h9e!eQcRcMh|h:hgi;g2h#e$eTcUcNh}h;hhi=g3h%e'e
128 raise RuntimeError( 2~haibicidieifigihi
129 "Passing primary_key is not supported when also passing a sa_column"
130 )
131 if nullable is not Undefined: 2vcwcFh@h)h*gVhXeYeyczcGh[h*h+gWhZe0eBcCcHh]h+h,gXh1e2eEcFcIh^h,h-gYh3e4eHcIcJh_h-h.gZh5e6eKcLcKh`h.h/g0h7e8eNcOcLh{h/h:g1h9e!eQcRcMh|h:h;g2h#e$eTcUcNh}h;h=g3h%e'e
132 raise RuntimeError( 2@h[h]h^h_h`h{h|h}h
133 "Passing nullable is not supported when also passing a sa_column"
134 )
135 if foreign_key is not Undefined: 2vcwcFh)h*gVhXeYeyczcGh*h+gWhZe0eBcCcHh+h,gXh1e2eEcFcIh,h-gYh3e4eHcIcJh-h.gZh5e6eKcLcKh.h/g0h7e8eNcOcLh/h:g1h9e!eQcRcMh:h;g2h#e$eTcUcNh;h=g3h%e'e
136 raise RuntimeError( 2wczcCcFcIcLcOcRcUc
137 "Passing foreign_key is not supported when also passing a sa_column"
138 )
139 if ondelete is not Undefined: 2vcFh)h*gVhXeYeycGh*h+gWhZe0eBcHh+h,gXh1e2eEcIh,h-gYh3e4eHcJh-h.gZh5e6eKcKh.h/g0h7e8eNcLh/h:g1h9e!eQcMh:h;g2h#e$eTcNh;h=g3h%e'e
140 raise RuntimeError( 2)h*h+h,h-h.h/h:h;h
141 "Passing ondelete is not supported when also passing a sa_column"
142 )
143 if unique is not Undefined: 2vcFh*gVhXeYeycGh+gWhZe0eBcHh,gXh1e2eEcIh-gYh3e4eHcJh.gZh5e6eKcKh/g0h7e8eNcLh:g1h9e!eQcMh;g2h#e$eTcNh=g3h%e'e
144 raise RuntimeError( 2VhWhXhYhZh0h1h2h3h
145 "Passing unique is not supported when also passing a sa_column"
146 )
147 if index is not Undefined: 2vcFh*gXeYeycGh+gZe0eBcHh,g1e2eEcIh-g3e4eHcJh.g5e6eKcKh/g7e8eNcLh:g9e!eQcMh;g#e$eTcNh=g%e'e
148 raise RuntimeError( 2FhGhHhIhJhKhLhMhNh
149 "Passing index is not supported when also passing a sa_column"
150 )
151 if sa_type is not Undefined: 2vc*gXeYeyc+gZe0eBc,g1e2eEc-g3e4eHc.g5e6eKc/g7e8eNc:g9e!eQc;g#e$eTc=g%e'e
152 raise RuntimeError( 2*g+g,g-g.g/g:g;g=g
153 "Passing sa_type is not supported when also passing a sa_column"
154 )
155 if sa_column_kwargs is not Undefined and "type_" in sa_column_kwargs: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
156 raise RuntimeError( 2PnRnTnVnXnZn1n3n5n
157 "Passing type_ is not supported in sa_column_kwargs, "
158 "use sa_type instead"
159 )
160 if ondelete is not Undefined: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
161 if foreign_key is Undefined: 2d Vc8gj e Wc9gk a Xc!gl f Yc#gm b Zc$gn g 0c%go h 1c'gp c 2c(gq i 3c)gr
162 raise RuntimeError("ondelete can only be used with foreign_key") 28g9g!g#g$g%g'g(g)g
163 super().__init__(default=default, **kwargs) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
164 self.primary_key = primary_key 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
165 self.nullable = nullable 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
166 self.foreign_key = foreign_key 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
167 self.ondelete = ondelete 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
168 self.unique = unique 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
169 self.index = index 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
170 self.sa_type = sa_type 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
171 self.sa_column = sa_column 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
172 self.sa_column_args = sa_column_args 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
173 self.sa_column_kwargs = sa_column_kwargs 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
176class RelationshipInfo(Representation): 1deafbghci
177 def __init__( 1deafbghci
178 self,
179 *,
180 back_populates: str | None = None,
181 cascade_delete: bool | None = False,
182 passive_deletes: bool | Literal["all"] | None = False,
183 link_model: Any | None = None,
184 sa_relationship: RelationshipProperty | None = None,
185 sa_relationship_args: Sequence[Any] | None = None,
186 sa_relationship_kwargs: Mapping[str, Any] | None = None,
187 ) -> None:
188 if sa_relationship is not None: 2d ZgHgs j e 0gIgt k a 1gJgu l f 2gKgv m b 3gLgw n g 4gMgx o h 5gNgy p c 6gOgz q i 7gPgA r
189 if sa_relationship_args is not None: 2ZgHgs 0gIgt 1gJgu 2gKgv 3gLgw 4gMgx 5gNgy 6gOgz 7gPgA
190 raise RuntimeError( 2Zg0g1g2g3g4g5g6g7g
191 "Passing sa_relationship_args is not supported when "
192 "also passing a sa_relationship"
193 )
194 if sa_relationship_kwargs is not None: 2Hgs Igt Jgu Kgv Lgw Mgx Ngy Ogz PgA
195 raise RuntimeError( 2HgIgJgKgLgMgNgOgPg
196 "Passing sa_relationship_kwargs is not supported when "
197 "also passing a sa_relationship"
198 )
199 self.back_populates = back_populates 1dsjetkaulfvmbwngxohypczqiAr
200 self.cascade_delete = cascade_delete 1dsjetkaulfvmbwngxohypczqiAr
201 self.passive_deletes = passive_deletes 1dsjetkaulfvmbwngxohypczqiAr
202 self.link_model = link_model 1dsjetkaulfvmbwngxohypczqiAr
203 self.sa_relationship = sa_relationship 1dsjetkaulfvmbwngxohypczqiAr
204 self.sa_relationship_args = sa_relationship_args 1dsjetkaulfvmbwngxohypczqiAr
205 self.sa_relationship_kwargs = sa_relationship_kwargs 1dsjetkaulfvmbwngxohypczqiAr
208@dataclass 1deafbghci
209class FieldInfoMetadata: 1deafbghci
210 primary_key: bool | UndefinedType = Undefined 1deafbghci
211 nullable: bool | UndefinedType = Undefined 1deafbghci
212 foreign_key: Any = Undefined 1deafbghci
213 ondelete: OnDeleteType | UndefinedType = Undefined 1deafbghci
214 unique: bool | UndefinedType = Undefined 1deafbghci
215 index: bool | UndefinedType = Undefined 1deafbghci
216 sa_type: SaTypeOrInstance | UndefinedType = Undefined 1deafbghci
217 sa_column: Column[Any] | UndefinedType = Undefined 1deafbghci
218 sa_column_args: Sequence[Any] | UndefinedType = Undefined 1deafbghci
219 sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined 1deafbghci
222def _get_sqlmodel_field_metadata(field_info: Any) -> FieldInfoMetadata | None: 1deafbghci
223 metadata_items = getattr(field_info, "metadata", None) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
224 if metadata_items: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
225 for meta in metadata_items: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
226 if isinstance(meta, FieldInfoMetadata): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
227 return meta 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
228 return None 2d $ vdddT U uc% 4cwd5c6cedwc' K ( ^b_bVc) * + ee_cj - . Wd/ fegeGeB e ; xdfdV W xc= 7cyd8c9cgdzc? L @ `b{bWc[ ] ^ he`ck ` { Xd| iejeIeC a ~ zdhdX Y Acab!cAd#c$cidCcbbM cb|b}bXcdbebfbke{cl hbibYdjblemeKeD f lbBdjdZ 0 Dcmb%cCd'c(ckdFcnbN ob~bacYcpbqbrbne|cm tbubZdvboepeMeE b xbDdld1 2 Gcyb)cEd*c+cmdIczbO AbbcccZcBbCbDbqe}cn FbGb0dHbreseOeF g JbFdnd3 4 JcKb,cGd-c.codLcLbP Mbdcec0cNbObPbte~co RbSb1dTbueveQeG h VbHdpd5 6 McWb/cId:c;cqdOcXbQ Ybfcgc1cZb0b1bweadp 3b4b2d5bxeyeSeH c 7bJdrd7 8 Pc8b=cKd?c@csdRc9bR !bhcic2c#b$b%bzebdq (b)b3d*bAeBeUeI i ,bLdtd9 ! Sc-b[cMd]c^cudUc.bS /bjckc3c:b;b=bCecdr @b[b4d]bDeEeWeJ
231def _get_sqlmodel_field_value( 1deafbghci
232 field_info: Any, attribute: str, default: Any = Undefined
233) -> Any:
234 metadata = _get_sqlmodel_field_metadata(field_info) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
235 if metadata is not None and hasattr(metadata, attribute): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
236 return getattr(metadata, attribute) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
237 return getattr(field_info, attribute, default) 2d $ vdddT U uc% 4cwd5c6cedwc' K ( ^b_bVc) * + ee_cj - . Wd/ fegeGeB e ; xdfdV W xc= 7cyd8c9cgdzc? L @ `b{bWc[ ] ^ he`ck ` { Xd| iejeIeC a ~ zdhdX Y Acab!cAd#c$cidCcbbM cb|b}bXcdbebfbke{cl hbibYdjblemeKeD f lbBdjdZ 0 Dcmb%cCd'c(ckdFcnbN ob~bacYcpbqbrbne|cm tbubZdvboepeMeE b xbDdld1 2 Gcyb)cEd*c+cmdIczbO AbbcccZcBbCbDbqe}cn FbGb0dHbreseOeF g JbFdnd3 4 JcKb,cGd-c.codLcLbP Mbdcec0cNbObPbte~co RbSb1dTbueveQeG h VbHdpd5 6 McWb/cId:c;cqdOcXbQ Ybfcgc1cZb0b1bweadp 3b4b2d5bxeyeSeH c 7bJdrd7 8 Pc8b=cKd?c@csdRc9bR !bhcic2c#b$b%bzebdq (b)b3d*bAeBeUeI i ,bLdtd9 ! Sc-b[cMd]c^cudUc.bS /bjckc3c:b;b=bCecdr @b[b4d]bDeEeWeJ
240# include sa_type, sa_column_args, sa_column_kwargs
241@overload 1deafbghci
242def Field( 1deafbghci
243 default: Any = Undefined, 1deafbghci
244 *,
245 default_factory: NoArgAnyCallable | None = None, 1deafbghci
246 alias: str | None = None, 1deafbghci
247 validation_alias: str | None = None, 1deafbghci
248 serialization_alias: str | None = None, 1deafbghci
249 title: str | None = None, 1deafbghci
250 description: str | None = None, 1deafbghci
251 exclude: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
252 include: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
253 const: bool | None = None, 1deafbghci
254 gt: float | None = None, 1deafbghci
255 ge: float | None = None, 1deafbghci
256 lt: float | None = None, 1deafbghci
257 le: float | None = None, 1deafbghci
258 multiple_of: float | None = None, 1deafbghci
259 max_digits: int | None = None, 1deafbghci
260 decimal_places: int | None = None, 1deafbghci
261 min_items: Annotated[ 1abc
262 int | None,
263 deprecated(MIN_ITEMS_DEPRECATION_MSG),
264 ] = None, 1deafbghci
265 max_items: Annotated[ 1abc
266 int | None,
267 deprecated(MAX_ITEMS_DEPRECATION_MSG),
268 ] = None, 1deafbghci
269 unique_items: bool | None = None, 1deafbghci
270 min_length: int | None = None, 1deafbghci
271 max_length: int | None = None, 1deafbghci
272 allow_mutation: bool = True, 1deafbghci
273 regex: str | None = None, 1deafbghci
274 discriminator: str | Discriminator | None = None, 1deafbghci
275 repr: bool = True, 1deafbghci
276 primary_key: bool | UndefinedType = Undefined, 1deafbghci
277 foreign_key: Any = Undefined, 1deafbghci
278 unique: bool | UndefinedType = Undefined, 1deafbghci
279 nullable: bool | UndefinedType = Undefined, 1deafbghci
280 index: bool | UndefinedType = Undefined, 1deafbghci
281 sa_type: SaTypeOrInstance | UndefinedType = Undefined, 1deafbghci
282 sa_column_args: Sequence[Any] | UndefinedType = Undefined, 1deafbghci
283 sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined, 1deafbghci
284 schema_extra: dict[str, Any] | None = None, 1deafbghci
285) -> Any: ... 1abc
288# When foreign_key is str, include ondelete
289# include sa_type, sa_column_args, sa_column_kwargs
290@overload 1deafbghci
291def Field( 1deafbghci
292 default: Any = Undefined, 1deafbghci
293 *,
294 default_factory: NoArgAnyCallable | None = None, 1deafbghci
295 alias: str | None = None, 1deafbghci
296 validation_alias: str | None = None, 1deafbghci
297 serialization_alias: str | None = None, 1deafbghci
298 title: str | None = None, 1deafbghci
299 description: str | None = None, 1deafbghci
300 exclude: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
301 include: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
302 const: bool | None = None, 1deafbghci
303 gt: float | None = None, 1deafbghci
304 ge: float | None = None, 1deafbghci
305 lt: float | None = None, 1deafbghci
306 le: float | None = None, 1deafbghci
307 multiple_of: float | None = None, 1deafbghci
308 max_digits: int | None = None, 1deafbghci
309 decimal_places: int | None = None, 1deafbghci
310 min_items: Annotated[ 1abc
311 int | None,
312 deprecated(MIN_ITEMS_DEPRECATION_MSG),
313 ] = None, 1deafbghci
314 max_items: Annotated[ 1abc
315 int | None,
316 deprecated(MAX_ITEMS_DEPRECATION_MSG),
317 ] = None, 1deafbghci
318 unique_items: bool | None = None, 1deafbghci
319 min_length: int | None = None, 1deafbghci
320 max_length: int | None = None, 1deafbghci
321 allow_mutation: bool = True, 1deafbghci
322 regex: str | None = None, 1deafbghci
323 discriminator: str | Discriminator | None = None, 1deafbghci
324 repr: bool = True, 1deafbghci
325 primary_key: bool | UndefinedType = Undefined, 1deafbghci
326 foreign_key: str, 1abc
327 ondelete: OnDeleteType | UndefinedType = Undefined, 1deafbghci
328 unique: bool | UndefinedType = Undefined, 1deafbghci
329 nullable: bool | UndefinedType = Undefined, 1deafbghci
330 index: bool | UndefinedType = Undefined, 1deafbghci
331 sa_type: SaTypeOrInstance | UndefinedType = Undefined, 1deafbghci
332 sa_column_args: Sequence[Any] | UndefinedType = Undefined, 1deafbghci
333 sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined, 1deafbghci
334 schema_extra: dict[str, Any] | None = None, 1deafbghci
335) -> Any: ... 1abc
338# Include sa_column, don't include
339# primary_key
340# foreign_key
341# ondelete
342# unique
343# nullable
344# index
345# sa_type
346# sa_column_args
347# sa_column_kwargs
348@overload 1deafbghci
349def Field( 1deafbghci
350 default: Any = Undefined, 1deafbghci
351 *,
352 default_factory: NoArgAnyCallable | None = None, 1deafbghci
353 alias: str | None = None, 1deafbghci
354 validation_alias: str | None = None, 1deafbghci
355 serialization_alias: str | None = None, 1deafbghci
356 title: str | None = None, 1deafbghci
357 description: str | None = None, 1deafbghci
358 exclude: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
359 include: Set[int | str] | Mapping[int | str, Any] | Any = None, 1deafbghci
360 const: bool | None = None, 1deafbghci
361 gt: float | None = None, 1deafbghci
362 ge: float | None = None, 1deafbghci
363 lt: float | None = None, 1deafbghci
364 le: float | None = None, 1deafbghci
365 multiple_of: float | None = None, 1deafbghci
366 max_digits: int | None = None, 1deafbghci
367 decimal_places: int | None = None, 1deafbghci
368 min_items: Annotated[ 1abc
369 int | None,
370 deprecated(MIN_ITEMS_DEPRECATION_MSG),
371 ] = None, 1deafbghci
372 max_items: Annotated[ 1abc
373 int | None,
374 deprecated(MAX_ITEMS_DEPRECATION_MSG),
375 ] = None, 1deafbghci
376 unique_items: bool | None = None, 1deafbghci
377 min_length: int | None = None, 1deafbghci
378 max_length: int | None = None, 1deafbghci
379 allow_mutation: bool = True, 1deafbghci
380 regex: str | None = None, 1deafbghci
381 discriminator: str | Discriminator | None = None, 1deafbghci
382 repr: bool = True, 1deafbghci
383 sa_column: Column[Any] | UndefinedType = Undefined, 1deafbghci
384 schema_extra: dict[str, Any] | None = None, 1deafbghci
385) -> Any: ... 1abc
388def Field( 1deafbghci
389 default: Any = Undefined,
390 *,
391 default_factory: NoArgAnyCallable | None = None,
392 alias: str | None = None,
393 validation_alias: str | None = None,
394 serialization_alias: str | None = None,
395 title: str | None = None,
396 description: str | None = None,
397 exclude: Set[int | str] | Mapping[int | str, Any] | Any = None,
398 include: Set[int | str] | Mapping[int | str, Any] | Any = None,
399 const: bool | None = None,
400 gt: float | None = None,
401 ge: float | None = None,
402 lt: float | None = None,
403 le: float | None = None,
404 multiple_of: float | None = None,
405 max_digits: int | None = None,
406 decimal_places: int | None = None,
407 min_items: Annotated[
408 int | None,
409 deprecated(MIN_ITEMS_DEPRECATION_MSG),
410 ] = None,
411 max_items: Annotated[
412 int | None,
413 deprecated(MAX_ITEMS_DEPRECATION_MSG),
414 ] = None,
415 unique_items: bool | None = None,
416 min_length: int | None = None,
417 max_length: int | None = None,
418 allow_mutation: bool = True,
419 regex: str | None = None,
420 discriminator: str | Discriminator | None = None,
421 repr: bool = True,
422 primary_key: bool | UndefinedType = Undefined,
423 foreign_key: Any = Undefined,
424 ondelete: OnDeleteType | UndefinedType = Undefined,
425 unique: bool | UndefinedType = Undefined,
426 nullable: bool | UndefinedType = Undefined,
427 index: bool | UndefinedType = Undefined,
428 sa_type: SaTypeOrInstance | UndefinedType = Undefined,
429 sa_column: Column | UndefinedType = Undefined,
430 sa_column_args: Sequence[Any] | UndefinedType = Undefined,
431 sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
432 schema_extra: dict[str, Any] | None = None,
433) -> Any:
434 current_schema_extra = schema_extra or {} 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
436 if min_items is not None: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
437 warnings.warn(MIN_ITEMS_DEPRECATION_MSG, DeprecationWarning, stacklevel=2) 2AfEfIfMfQfUfYf2f6f
438 if min_length is None: 2AfEfIfMfQfUfYf2f6f
439 min_length = min_items 2AfEfIfMfQfUfYf2f6f
440 if max_items is not None: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
441 warnings.warn(MAX_ITEMS_DEPRECATION_MSG, DeprecationWarning, stacklevel=2) 2zfDfHfLfPfTfXf1f5f
442 if max_length is None: 2zfDfHfLfPfTfXf1f5f
443 max_length = max_items 2zfDfHfLfPfTfXf1f5f
445 # Extract possible alias settings from schema_extra so we can control precedence
446 schema_validation_alias = current_schema_extra.pop("validation_alias", None) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
447 schema_serialization_alias = current_schema_extra.pop("serialization_alias", None) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
448 field_info_kwargs = { 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
449 "alias": alias,
450 "title": title,
451 "description": description,
452 "exclude": exclude,
453 "include": include,
454 "const": const,
455 "gt": gt,
456 "ge": ge,
457 "lt": lt,
458 "le": le,
459 "multiple_of": multiple_of,
460 "max_digits": max_digits,
461 "decimal_places": decimal_places,
462 "unique_items": unique_items,
463 "min_length": min_length,
464 "max_length": max_length,
465 "allow_mutation": allow_mutation,
466 "regex": regex,
467 "discriminator": discriminator,
468 "repr": repr,
469 "primary_key": primary_key,
470 "foreign_key": foreign_key,
471 "ondelete": ondelete,
472 "unique": unique,
473 "nullable": nullable,
474 "index": index,
475 "sa_type": sa_type,
476 "sa_column": sa_column,
477 "sa_column_args": sa_column_args,
478 "sa_column_kwargs": sa_column_kwargs,
479 **current_schema_extra,
480 }
482 # explicit params > schema_extra > alias propagation
483 field_info_kwargs["validation_alias"] = ( 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
484 validation_alias or schema_validation_alias or alias
485 )
486 field_info_kwargs["serialization_alias"] = ( 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
487 serialization_alias or schema_serialization_alias or alias
488 )
490 field_info = FieldInfo( 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dPnwcFh@h)h~hQnDi*gVhXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dRnzcGh[h*haiSnEi+gWhZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dTnCcHh]h+hbiUnFi,gXh1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dVnFcIh^h,hciWnGi-gYh3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dXnIcJh_h-hdiYnHi.gZh5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dZnLcKh`h.hei0nIi/g0h7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;d1nOcLh{h/hfi2nJi:g1h9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@d3nRcMh|h:hgi4nKi;g2h#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^d5nUcNh}h;hhi6nLi=g3h%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
491 default,
492 default_factory=default_factory,
493 **field_info_kwargs,
494 )
495 field_metadata = FieldInfoMetadata( 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
496 primary_key=primary_key,
497 nullable=nullable,
498 foreign_key=foreign_key,
499 ondelete=ondelete,
500 unique=unique,
501 index=index,
502 sa_type=sa_type,
503 sa_column=sa_column,
504 sa_column_args=sa_column_args,
505 sa_column_kwargs=sa_column_kwargs,
506 )
507 if hasattr(field_info, "metadata"): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
508 field_info.metadata.append(field_metadata) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
509 return field_info 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeZgHgFe`d*f' K ( +f^b_bVcs ) * + ee, _c7d8gj ,f-fofzfAf7f- . Wd/ fegeGeB e (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0e0gIgHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!d9gk ;f=fpfDfEf8f` { Xd| iejeIeC a *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2e1gJgJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%d!gl ]f^fqfHfIf9fhbibYdjblemeKeD f ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4e2gKgLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)d#gm |f}frfLfMf!ftbubZdvboepeMeE b _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6e3gLgNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,d$gn cgdgsfPfQf#fFbGb0dHbreseOeF g .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8e4gMgPeaefgLbP Mbggdcec0cx NbObPbteQb~c/d%go hgigtfTfUf$fRbSb1dTbueveQeG h :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!e5gNgRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=d'gp mgngufXfYf%f3b4b2d5bxeyeSeH c =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$e6gOgTecepg9bR !bqghcic2cz #b$b%bze'bbd[d(gq rgsgvf1f2f'f(b)b3d*bAeBeUeI i @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'e7gPgVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_d)gr wgxgwf5f6f(f@b[b4d]bDeEeWeJ
512@overload 1deafbghci
513def Relationship( 1deafbghci
514 *,
515 back_populates: str | None = None, 1deafbghci
516 cascade_delete: bool | None = False, 1deafbghci
517 passive_deletes: bool | Literal["all"] | None = False, 1deafbghci
518 link_model: Any | None = None, 1deafbghci
519 sa_relationship_args: Sequence[Any] | None = None, 1deafbghci
520 sa_relationship_kwargs: Mapping[str, Any] | None = None, 1deafbghci
521) -> Any: ... 1abc
524@overload 1deafbghci
525def Relationship( 1deafbghci
526 *,
527 back_populates: str | None = None, 1deafbghci
528 cascade_delete: bool | None = False, 1deafbghci
529 passive_deletes: bool | Literal["all"] | None = False, 1deafbghci
530 link_model: Any | None = None, 1deafbghci
531 sa_relationship: RelationshipProperty[Any] | None = None, 1deafbghci
532) -> Any: ... 1abc
535def Relationship( 1deafbghci
536 *,
537 back_populates: str | None = None,
538 cascade_delete: bool | None = False,
539 passive_deletes: bool | Literal["all"] | None = False,
540 link_model: Any | None = None,
541 sa_relationship: RelationshipProperty[Any] | None = None,
542 sa_relationship_args: Sequence[Any] | None = None,
543 sa_relationship_kwargs: Mapping[str, Any] | None = None,
544) -> Any:
545 relationship_info = RelationshipInfo( 2d ZgHgs j e 0gIgt k a 1gJgu l f 2gKgv m b 3gLgw n g 4gMgx o h 5gNgy p c 6gOgz q i 7gPgA r
546 back_populates=back_populates,
547 cascade_delete=cascade_delete,
548 passive_deletes=passive_deletes,
549 link_model=link_model,
550 sa_relationship=sa_relationship,
551 sa_relationship_args=sa_relationship_args,
552 sa_relationship_kwargs=sa_relationship_kwargs,
553 )
554 return relationship_info 1dsjetkaulfvmbwngxohypczqiAr
557@dataclass_transform(kw_only_default=True, field_specifiers=(Field, FieldInfo)) 1deafbghci
558class SQLModelMetaclass(ModelMetaclass, DeclarativeMeta): 1deafbghci
559 __sqlmodel_relationships__: dict[str, RelationshipInfo] 1deafbghci
560 model_config: SQLModelConfig 1deafbghci
561 model_fields: ClassVar[dict[str, FieldInfo]] 1deafbghci
563 # Replicate SQLAlchemy
564 def __setattr__(cls, name: str, value: Any) -> None: # ty: ignore[invalid-method-override] 1deafbghci
565 if is_table_model_class(cls): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
566 DeclarativeMeta.__setattr__(cls, name, value) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
567 else:
568 super().__setattr__(name, value) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
570 def __delattr__(cls, name: str) -> None: # ty: ignore[invalid-method-override] 1deafbghci
571 if is_table_model_class(cls): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7f- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8f` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fhbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!ftbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%f3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'f(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(f@b[b4d]bDeEeWeJ Yg
572 DeclarativeMeta.__delattr__(cls, name) 1deafbghci
573 else:
574 super().__delattr__(name) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7f- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8f` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fhbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!ftbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%f3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'f(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(f@b[b4d]bDeEeWeJ Yg
576 # From Pydantic
577 def __new__( 1deafbghci
578 cls,
579 name: str,
580 bases: tuple[type[Any], ...],
581 class_dict: dict[str, Any],
582 **kwargs: Any,
583 ) -> Any:
584 relationships: dict[str, RelationshipInfo] = {} 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
585 dict_for_pydantic = {} 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
586 original_annotations = get_annotations(class_dict) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
587 pydantic_annotations = {} 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
588 relationship_annotations = {} 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
589 for k, v in class_dict.items(): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
590 if isinstance(v, RelationshipInfo): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
591 relationships[k] = v 1dsjetkaulfvmbwngxohypczqiAr
592 else:
593 dict_for_pydantic[k] = v 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
594 for k, v in original_annotations.items(): 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
595 if k in relationships: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
596 relationship_annotations[k] = v 1dsjetkaulfvmbwngxohypczqiAr
597 else:
598 pydantic_annotations[k] = v 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
599 dict_used = { 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
600 **dict_for_pydantic,
601 "__weakref__": None,
602 "__sqlmodel_relationships__": relationships,
603 "__annotations__": pydantic_annotations,
604 }
605 # Duplicate logic from Pydantic to filter config kwargs because if they are
606 # passed directly including the registry Pydantic will pass them over to the
607 # superclass causing an error
608 allowed_config_kwargs: set[str] = { 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
609 key
610 for key in dir(BaseConfig)
611 if not (
612 key.startswith("__") and key.endswith("__")
613 ) # skip dunder methods and attributes
614 }
615 config_kwargs = { 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
616 key: kwargs[key] for key in kwargs.keys() & allowed_config_kwargs
617 }
618 new_cls = cast( 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
619 "SQLModel", super().__new__(cls, name, bases, dict_used, **config_kwargs)
620 )
621 new_cls.__annotations__ = { 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
622 **relationship_annotations,
623 **pydantic_annotations,
624 **new_cls.__annotations__,
625 }
627 def get_config(name: str) -> Any: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
628 config_class_value = new_cls.model_config.get(name, Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
629 if config_class_value is not Undefined: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
630 return config_class_value
631 kwarg_value = kwargs.get(name, Undefined) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
632 if kwarg_value is not Undefined: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
633 return kwarg_value 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
634 return Undefined 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
636 config_table = get_config("table") 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
637 if config_table is True: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + ee, _c7dj ,f-fofzfAf7fFg- . Wd/ fegeGeB Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ he_ `c!dk ;f=fpfDfEf8fyg` { Xd| iejeIeC Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbkegb{c%dl ]f^fqfHfIf9fzghbibYdjblemeKeD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbnesb|c)dm |f}frfLfMf!fAgtbubZdvboepeMeE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbqeEb}c,dn cgdgsfPfQf#fGgFbGb0dHbreseOeF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbteQb~c/do hgigtfTfUf$fBgRbSb1dTbueveQeG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1bwe2bad=dp mgngufXfYf%fCg3b4b2d5bxeyeSeH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%bze'bbd[dq rgsgvf1f2f'fDg(b)b3d*bAeBeUeI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=bCe?bcd_dr wgxgwf5f6f(fEg@b[b4d]bDeEeWeJ Yg
638 # If it was passed by kwargs, ensure it's also set in config
639 new_cls.model_config["table"] = config_table 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
640 for k, v in get_model_fields(new_cls).items(): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
641 col = get_column_from_field(v) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
642 setattr(new_cls, k, col) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
643 # Set a config flag to tell FastAPI that this should be read with a field
644 # in orm_mode instead of preemptively converting it to a dict.
645 # This could be done by reading new_cls.model_config['table'] in FastAPI, but
646 # that's very specific about SQLModel, so let's have another config that
647 # other future tools based on Pydantic can use.
648 new_cls.model_config["read_from_attributes"] = True # ty: ignore[invalid-key] 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + , _c7dj - . Wd/ B e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ _ `c!dk ` { Xd| C a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbgb{c%dl hbibYdjbD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbsb|c)dm tbubZdvbE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbEb}c,dn FbGb0dHbF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbQb~c/do RbSb1dTbG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1b2bad=dp 3b4b2d5bH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%b'bbd[dq (b)b3d*bI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=b?bcd_dr @b[b4d]bJ
649 # For compatibility with older versions
650 # TODO: remove this in the future
651 new_cls.model_config["read_with_orm_mode"] = True # ty: ignore[invalid-key] 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + , _c7dj - . Wd/ B e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ _ `c!dk ` { Xd| C a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbgb{c%dl hbibYdjbD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbsb|c)dm tbubZdvbE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbEb}c,dn FbGb0dHbF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbQb~c/do RbSb1dTbG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1b2bad=dp 3b4b2d5bH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%b'bbd[dq (b)b3d*bI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=b?bcd_dr @b[b4d]bJ
653 config_registry = get_config("registry") 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
654 if config_registry is not Undefined: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
655 config_registry = cast(registry, config_registry) 1deafbghci
656 # If it was passed by kwargs, ensure it's also set in config
657 new_cls.model_config["registry"] = config_table 1deafbghci
658 setattr(new_cls, "_sa_registry", config_registry) # noqa: B010 1deafbghci
659 setattr(new_cls, "metadata", config_registry.metadata) # noqa: B010 1deafbghci
660 setattr(new_cls, "__abstract__", True) # noqa: B010 1deafbghci
661 return new_cls 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
663 # Override SQLAlchemy, allow both SQLAlchemy and plain Pydantic models
664 def __init__( 1deafbghci
665 cls, classname: str, bases: tuple[type, ...], dict_: dict[str, Any], **kw: Any
666 ) -> None:
667 # Only one of the base classes (or the current one) should be a table model
668 # this allows FastAPI cloning a SQLModel for the response_model without
669 # trying to create a new SQLAlchemy, for a new table, with the same name, that
670 # triggers an error
671 base_is_table = any(is_table_model_class(base) for base in bases) 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
672 if is_table_model_class(cls) and not base_is_table: 2d ]e^ekfxflfyf# $ )fvdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d*f' K ( +f^b_bVcs ) * + , _c7dj ,f-fofzfAf7fFg- . Wd/ B Qge (e)e{eBf|eCf: ; .fxdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d/f? L @ :f`b{bWct [ ] ^ _ `c!dk ;f=fpfDfEf8fyg` { Xd| C Rga *e+e}eFf~eGf} ~ ?fzdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|d@fbbM cb[f|b}bXcu dbebfbgb{c%dl ]f^fqfHfIf9fzghbibYdjbD Sgf ,e-eafJfbfKfkblb_fBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}d`fnbN ob{f~bacYcv pbqbrbsb|c)dm |f}frfLfMf!fAgtbubZdvbE Tgb _e`emfNfnfOfwbxb~fDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dagzbO AbbgbcccZcw BbCbDbEb}c,dn cgdgsfPfQf#fGgFbGb0dHbF Ugg .e/ecfRfdfSfIbJbegFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaefgLbP Mbggdcec0cx NbObPbQb~c/do hgigtfTfUf$fBgRbSb1dTbG Vgh :e;eefVfffWfUbVbjgHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebekgXbQ Yblgfcgc1cy Zb0b1b2bad=dp mgngufXfYf%fCg3b4b2d5bH Wgc =e?egfZfhf0f6b7bogJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTecepg9bR !bqghcic2cz #b$b%b'bbd[dq rgsgvf1f2f'fDg(b)b3d*bI Xgi @e[eif3fjf4f+b,btgLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVedeug.bS /bvgjckc3cA :b;b=b?bcd_dr wgxgwf5f6f(fEg@b[b4d]bJ Yg
673 for rel_name, rel_info in cls.__sqlmodel_relationships__.items(): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + , _c7dj - . Wd/ B e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ _ `c!dk ` { Xd| C a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbgb{c%dl hbibYdjbD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbsb|c)dm tbubZdvbE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbEb}c,dn FbGb0dHbF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbQb~c/do RbSb1dTbG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1b2bad=dp 3b4b2d5bH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%b'bbd[dq (b)b3d*bI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=b?bcd_dr @b[b4d]bJ
674 if rel_info.sa_relationship: 1dsjetkaulfvmbwngxohypczqiAr
675 # There's a SQLAlchemy relationship declared, that takes precedence
676 # over anything else, use that and continue with the next attribute
677 setattr(cls, rel_name, rel_info.sa_relationship) # Fix #315 1stuvwxyzA
678 continue 1stuvwxyzA
679 raw_ann = cls.__annotations__[rel_name] 1djekalfmbngohpcqir
680 origin: Any = get_origin(raw_ann) 1djekalfmbngohpcqir
681 if origin is Mapped: 1djekalfmbngohpcqir
682 ann = raw_ann.__args__[0]
683 else:
684 ann = raw_ann 1djekalfmbngohpcqir
685 # Plain forward references, for models not yet defined, are not
686 # handled well by SQLAlchemy without Mapped, so, wrap the
687 # annotations in Mapped here
688 cls.__annotations__[rel_name] = Mapped[ann] 1djekalfmbngohpcqir
689 relationship_to = get_relationship_to( 1djekalfmbngohpcqir
690 name=rel_name, rel_info=rel_info, annotation=ann
691 )
692 rel_kwargs: dict[str, Any] = {} 1djekalfmbngohpcqir
693 if rel_info.back_populates: 1djekalfmbngohpcqir
694 rel_kwargs["back_populates"] = rel_info.back_populates 1djekalfmbngohpcqir
695 if rel_info.cascade_delete: 1djekalfmbngohpcqir
696 rel_kwargs["cascade"] = "all, delete-orphan" 1deafbghci
697 if rel_info.passive_deletes: 1djekalfmbngohpcqir
698 rel_kwargs["passive_deletes"] = rel_info.passive_deletes 1djekalfmbngohpcqir
699 if rel_info.link_model: 1djekalfmbngohpcqir
700 ins = inspect(rel_info.link_model) 1deafbghci
701 local_table = getattr(ins, "local_table") # noqa: B009 1deafbghci
702 if local_table is None: 1deafbghci
703 raise RuntimeError(
704 "Couldn't find the secondary table for "
705 f"model {rel_info.link_model}"
706 )
707 rel_kwargs["secondary"] = local_table 1deafbghci
708 rel_args: list[Any] = [] 1djekalfmbngohpcqir
709 if rel_info.sa_relationship_args: 1djekalfmbngohpcqir
710 rel_args.extend(rel_info.sa_relationship_args)
711 if rel_info.sa_relationship_kwargs: 1djekalfmbngohpcqir
712 rel_kwargs.update(rel_info.sa_relationship_kwargs)
713 rel_value = relationship(relationship_to, *rel_args, **rel_kwargs) 1djekalfmbngohpcqir
714 setattr(cls, rel_name, rel_value) # Fix #315 1djekalfmbngohpcqir
715 # SQLAlchemy no longer uses dict_
716 # Ref: https://github.com/sqlalchemy/sqlalchemy/commit/428ea01f00a9cc7f85e435018565eb6da7af1b77
717 # Tag: 1.4.36
718 DeclarativeMeta.__init__(cls, classname, bases, dict_, **kw) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + , _c7dj - . Wd/ B e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ _ `c!dk ` { Xd| C a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbgb{c%dl hbibYdjbD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbsb|c)dm tbubZdvbE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbEb}c,dn FbGb0dHbF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbQb~c/do RbSb1dTbG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1b2bad=dp 3b4b2d5bH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%b'bbd[dq (b)b3d*bI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=b?bcd_dr @b[b4d]bJ
719 else:
720 ModelMetaclass.__init__(cls, classname, bases, dict_, **kw) 2d ]e^ekfxflfyf)fNd5c6c*f+f,f-fofzfAf7fFgB Qge (e)e{eBf|eCf.fOd8c9c/f:f;f=fpfDfEf8fygC Rga *e+e}eFf~eGf?fPd#c$c@f[f]f^fqfHfIf9fzgD Sgf ,e-eafJfbfKf_fQd'c(c`f{f|f}frfLfMf!fAgE Tgb _e`emfNfnfOf~fRd*c+cagbgcgdgsfPfQf#fGgF Ugg .e/ecfRfdfSfegSd-c.cfggghgigtfTfUf$fBgG Vgh :e;eefVfffWfjgTd:c;ckglgmgngufXfYf%fCgH Wgc =e?egfZfhf0fogUd?c@cpgqgrgsgvf1f2f'fDgI Xgi @e[eif3fjf4ftgVd]c^cugvgwgxgwf5f6f(fEgJ Yg
723def get_sqlalchemy_type(field: Any) -> Any: 1deafbghci
724 field_info = field 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
725 sa_type = _get_sqlmodel_field_value(field_info, "sa_type", Undefined) # noqa: B009 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
726 if sa_type is not Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
727 return sa_type 2d vc5dlcFe`de yc8dmcHe{da Bc#dncJe|df Ec'docLe}db Hc*dpcNe~dg Kc-dqcPeaeh Nc:drcRebec Qc?dscTecei Tc]dtcVede
729 type_ = get_sa_type_from_field(field) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
730 metadata = get_field_metadata(field) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
732 # Check enums first as an enum can also be a str, needed by Pydantic/FastAPI
733 if issubclass(type_, Enum): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
734 return sa_Enum(type_) 2d 5c6ce 8c9ca #c$cf 'c(cb *c+cg -c.ch :c;cc ?c@ci ]c^c
735 if issubclass( 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
736 type_,
737 (
738 str,
739 ipaddress.IPv4Address,
740 ipaddress.IPv4Network,
741 ipaddress.IPv6Address,
742 ipaddress.IPv6Network,
743 Path,
744 EmailStr,
745 ),
746 ):
747 max_length = getattr(metadata, "max_length", None) 2d $ edwc' K ( ^b_bVcs ) * + , _cj - . Wd/ B e ; gdzc? L @ `b{bWct [ ] ^ _ `ck ` { Xd| C a ~ idCcbbM cb|b}bXcu dbebfbgb{cl hbibYdjbD f lbkdFcnbN ob~bacYcv pbqbrbsb|cm tbubZdvbE b xbmdIczbO AbbcccZcw BbCbDbEb}cn FbGb0dHbF g JbodLcLbP Mbdcec0cx NbObPbQb~co RbSb1dTbG h VbqdOcXbQ Ybfcgc1cy Zb0b1b2badp 3b4b2d5bH c 7bsdRc9bR !bhcic2cz #b$b%b'bbdq (b)b3d*bI i ,budUc.bS /bjckc3cA :b;b=b?bcdr @b[b4d]bJ
748 if max_length: 2d $ edwc' K ( ^b_bVcs ) * + , _cj - . Wd/ B e ; gdzc? L @ `b{bWct [ ] ^ _ `ck ` { Xd| C a ~ idCcbbM cb|b}bXcu dbebfbgb{cl hbibYdjbD f lbkdFcnbN ob~bacYcv pbqbrbsb|cm tbubZdvbE b xbmdIczbO AbbcccZcw BbCbDbEb}cn FbGb0dHbF g JbodLcLbP Mbdcec0cx NbObPbQb~co RbSb1dTbG h VbqdOcXbQ Ybfcgc1cy Zb0b1b2badp 3b4b2d5bH c 7bsdRc9bR !bhcic2cz #b$b%b'bbdq (b)b3d*bI i ,budUc.bS /bjckc3cA :b;b=b?bcdr @b[b4d]bJ
749 return AutoString(length=max_length)
750 return AutoString 2d $ edwc' K ( ^b_bVcs ) * + , _cj - . Wd/ B e ; gdzc? L @ `b{bWct [ ] ^ _ `ck ` { Xd| C a ~ idCcbbM cb|b}bXcu dbebfbgb{cl hbibYdjbD f lbkdFcnbN ob~bacYcv pbqbrbsb|cm tbubZdvbE b xbmdIczbO AbbcccZcw BbCbDbEb}cn FbGb0dHbF g JbodLcLbP Mbdcec0cx NbObPbQb~co RbSb1dTbG h VbqdOcXbQ Ybfcgc1cy Zb0b1b2badp 3b4b2d5bH c 7bsdRc9bR !bhcic2cz #b$b%b'bbdq (b)b3d*bI i ,budUc.bS /bjckc3cA :b;b=b?bcdr @b[b4d]bJ
751 if issubclass(type_, float): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
752 return Float
753 if issubclass(type_, bool): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
754 return Boolean 1deafbghci
755 if issubclass(type_, int): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
756 return Integer 2d $ vdddT U ucvc5dNd% 4cwdlced6dwc`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e ; xdfdV W xcyc8dOd= 7cydmcgd9dzc{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a ~ zdhdX Y AcBc#dPdab!cAdncid$dCc|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f lbBdjdZ 0 DcEc'dQdmb%cCdockd(dFc}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b xbDdld1 2 GcHc*dRdyb)cEdpcmd+dIc~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g JbFdnd3 4 JcKc-dSdKb,cGdqcod.dLcaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h VbHdpd5 6 McNc:dTdWb/cIdrcqd;dOcbeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 7bJdrd7 8 PcQc?dUd8b=cKdscsd@dRcce9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i ,bLdtd9 ! ScTc]dVd-b[cMdtcud^dUcde.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
757 if issubclass(type_, (datetime, AwareDatetime, NaiveDatetime)): 2d # vdddT U ucNd% 4cwd5c6ceefegee : xdfdV W xcOd= 7cyd8c9cheiejea } zdhdX Y AcPdab!cAd#c$ckelemef kbBdjdZ 0 DcQdmb%cCd'c(cneoepeb wbDdld1 2 GcRdyb)cEd*c+cqereseg IbFdnd3 4 JcSdKb,cGd-c.cteueveh UbHdpd5 6 McTdWb/cId:c;cwexeyec 6bJdrd7 8 PcUd8b=cKd?c@czeAeBei +bLdtd9 ! ScVd-b[cMd]c^cCeDeEe
758 if issubclass(type_, cast(type, NaiveDatetime)): 2d vdddT U ucNd% wde xdfdV W xcOd= yda zdhdX Y AcPdabAdf BdjdZ 0 DcQdmbCdb Ddld1 2 GcRdybEdg Fdnd3 4 JcSdKbGdh Hdpd5 6 McTdWbIdc Jdrd7 8 PcUd8bKdi Ldtd9 ! ScVd-bMd
759 return DateTime(timezone=False) 2d ddT U Nde fdV W Oda hdX Y Pdf jdZ 0 Qdb ld1 2 Rdg nd3 4 Sdh pd5 6 Tdc rd7 8 Udi td9 ! Vd
760 return UTCDateTime() 2d vdddT U uc% wde xdfdV W xc= yda zdhdX Y AcabAdf BdjdZ 0 DcmbCdb Ddld1 2 GcybEdg Fdnd3 4 JcKbGdh Hdpd5 6 McWbIdc Jdrd7 8 Pc8bKdi Ldtd9 ! Sc-bMd
761 if issubclass(type_, date): 2d # 4c5c6ceefegee : 7c8c9cheiejea } !c#c$ckelemef kb%c'c(cneoepeb wb)c*c+cqereseg Ib,c-c.cteueveh Ub/c:c;cwexeyec 6b=c?c@czeAeBei +b[c]c^cCeDeEe
762 return Date 24c7c!c%c)c,c/c=c[c
763 if issubclass(type_, timedelta): 2d # 4c5c6ceefegee : 7c8c9cheiejea } !c#c$ckelemef kb%c'c(cneoepeb wb)c*c+cqereseg Ib,c-c.cteueveh Ub/c:c;cwexeyec 6b=c?c@czeAeBei +b[c]c^cCeDeEe
764 return Interval 24c7c!c%c)c,c/c=c[c
765 if issubclass(type_, time): 2d # 4c5c6ceefegee : 7c8c9cheiejea } !c#c$ckelemef kb%c'c(cneoepeb wb)c*c+cqereseg Ib,c-c.cteueveh Ub/c:c;cwexeyec 6b=c?c@czeAeBei +b[c]c^cCeDeEe
766 return Time 24c7c!c%c)c,c/c=c[c
767 if issubclass(type_, bytes): 2d # 5c6ceefegee : 8c9cheiejea } #c$ckelemef kb'c(cneoepeb wb*c+cqereseg Ib-c.cteueveh Ub:c;cwexeyec 6b?c@czeAeBei +b]c^cCeDeEe
768 return LargeBinary
769 if issubclass(type_, Decimal): 2d # 5c6ceefegee : 8c9cheiejea } #c$ckelemef kb'c(cneoepeb wb*c+cqereseg Ib-c.cteueveh Ub:c;cwexeyec 6b?c@czeAeBei +b]c^cCeDeEe
770 return Numeric( 1deafbghci
771 precision=getattr(metadata, "max_digits", None),
772 scale=getattr(metadata, "decimal_places", None),
773 )
774 if issubclass(type_, uuid.UUID): 2d # 5c6ceefegee : 8c9cheiejea } #c$ckelemef kb'c(cneoepeb wb*c+cqereseg Ib-c.cteueveh Ub:c;cwexeyec 6b?c@czeAeBei +b]c^cCeDeEe
775 return Uuid 2d # 5c6ce : 8c9ca } #c$cf kb'c(cb wb*c+cg Ib-c.ch Ub:c;cc 6b?c@ci +b]c^c
776 raise ValueError(f"{type_} has no matching SQLAlchemy type") 2eefegeheiejekelemeneoepeqereseteuevewexeyezeAeBeCeDeEe
779def get_column_from_field(field: Any) -> Column: 1deafbghci
780 field_info = field 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
781 sa_column = _get_sqlmodel_field_value(field_info, "sa_column", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
782 if isinstance(sa_column, Column): 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
783 return sa_column 2vcXeYeycZe0eBc1e2eEc3e4eHc5e6eKc7e8eNc9e!eQc#e$eTc%e'e
784 sa_type = get_sqlalchemy_type(field) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
785 primary_key = _get_sqlmodel_field_value(field_info, "primary_key", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
786 if primary_key is Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
787 primary_key = False 2d $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwc`d' K ( ^b_bVcs ) * + , _cj - . Wd/ B e ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzc{d? L @ `b{bWct [ ] ^ _ `ck ` { Xd| C a ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc|dbbM cb|b}bXcu dbebfbgb{cl hbibYdjbD f lbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc}dnbN ob~bacYcv pbqbrbsb|cm tbubZdvbE b xbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc~dzbO AbbcccZcw BbCbDbEb}cn FbGb0dHbF g JbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcaeLbP Mbdcec0cx NbObPbQb~co RbSb1dTbG h VbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcbeXbQ Ybfcgc1cy Zb0b1b2badp 3b4b2d5bH c 7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcce9bR !bhcic2cz #b$b%b'bbdq (b)b3d*bI i ,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcde.bS /bjckc3cA :b;b=b?bcdr @b[b4d]bJ
788 index = _get_sqlmodel_field_value(field_info, "index", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
789 if index is Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
790 index = False 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
791 nullable = not primary_key and is_field_noneable(field) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
792 # Override derived nullability if the nullable property is set explicitly
793 # on the field
794 field_nullable = _get_sqlmodel_field_value(field_info, "nullable", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
795 if field_nullable is not Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
796 assert not isinstance(field_nullable, UndefinedType) 2, _c7d_ `c!dgb{c%dsb|c)dEb}c,dQb~c/d2bad=d'bbd[d?bcd_d
797 nullable = field_nullable 2, _c7d_ `c!dgb{c%dsb|c)dEb}c,dQb~c/d2bad=d'bbd[d?bcd_d
798 args = [] 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
799 foreign_key = _get_sqlmodel_field_value(field_info, "foreign_key", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
800 if foreign_key is Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
801 foreign_key = None 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
802 unique = _get_sqlmodel_field_value(field_info, "unique", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
803 if unique is Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
804 unique = False 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
805 if foreign_key: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
806 ondelete_value = _get_sqlmodel_field_value(field_info, "ondelete", Undefined) 2d K Vcs j e L Wct k a M Xcu l f N Ycv m b O Zcw n g P 0cx o h Q 1cy p c R 2cz q i S 3cA r
807 if ondelete_value is Undefined: 2d K Vcs j e L Wct k a M Xcu l f N Ycv m b O Zcw n g P 0cx o h Q 1cy p c R 2cz q i S 3cA r
808 ondelete_value = None 1dKseLtaMufNvbOwgPxhQycRziSA
809 if ondelete_value == "SET NULL" and not nullable: 2d K Vcs j e L Wct k a M Xcu l f N Ycv m b O Zcw n g P 0cx o h Q 1cy p c R 2cz q i S 3cA r
810 raise RuntimeError('ondelete="SET NULL" requires nullable=True') 1jklmnopqr
811 assert isinstance(foreign_key, str) 2d K Vcs e L Wct a M Xcu f N Ycv b O Zcw g P 0cx h Q 1cy c R 2cz i S 3cA
812 assert isinstance(ondelete_value, (str, type(None))) # for typing 2d K Vcs e L Wct a M Xcu f N Ycv b O Zcw g P 0cx h Q 1cy c R 2cz i S 3cA
813 args.append(ForeignKey(foreign_key, ondelete=ondelete_value)) 2d K Vcs e L Wct a M Xcu f N Ycv b O Zcw g P 0cx h Q 1cy c R 2cz i S 3cA
814 kwargs: dict[str, Any] = { 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
815 "primary_key": primary_key,
816 "nullable": nullable,
817 "index": index,
818 "unique": unique,
819 }
820 sa_default = Undefined 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
821 if field_info.default_factory: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
822 sa_default = field_info.default_factory 2d # e : a } f kbb wbg Ibh Ubc 6bi +b
823 elif field_info.default is not Undefined: 2d $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f lbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b xbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g JbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h VbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i ,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
824 sa_default = field_info.default 2d $ vdddT U ucvc5dNd% 4cwdlced6dwc' K ( s ) * + ee, _c7dj - . / fegeGeB e ; xdfdV W xcyc8dOd= 7cydmcgd9dzc? L @ t [ ] ^ he_ `c!dk ` { | iejeIeC a ~ zdhdX Y AcBc#dPdab!cAdncid$dCcbbM cbu dbebfbkegb{c%dl hbibjblemeKeD f lbBdjdZ 0 DcEc'dQdmb%cCdockd(dFcnbN obv pbqbrbnesb|c)dm tbubvboepeMeE b xbDdld1 2 GcHc*dRdyb)cEdpcmd+dIczbO Abw BbCbDbqeEb}c,dn FbGbHbreseOeF g JbFdnd3 4 JcKc-dSdKb,cGdqcod.dLcLbP Mbx NbObPbteQb~c/do RbSbTbueveQeG h VbHdpd5 6 McNc:dTdWb/cIdrcqd;dOcXbQ Yby Zb0b1bwe2bad=dp 3b4b5bxeyeSeH c 7bJdrd7 8 PcQc?dUd8b=cKdscsd@dRc9bR !bz #b$b%bze'bbd[dq (b)b*bAeBeUeI i ,bLdtd9 ! ScTc]dVd-b[cMdtcud^dUc.bS /bA :b;b=bCe?bcd_dr @b[b]bDeEeWeJ
825 if sa_default is not Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
826 kwargs["default"] = sa_default 2d # $ vdddT U ucvc5dNd% 4cwdlced6dwc' K ( s ) * + ee, _c7dj - . / fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmcgd9dzc? L @ t [ ] ^ he_ `c!dk ` { | iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdncid$dCcbbM cbu dbebfbkegb{c%dl hbibjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdockd(dFcnbN obv pbqbrbnesb|c)dm tbubvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpcmd+dIczbO Abw BbCbDbqeEb}c,dn FbGbHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqcod.dLcLbP Mbx NbObPbteQb~c/do RbSbTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrcqd;dOcXbQ Yby Zb0b1bwe2bad=dp 3b4b5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdscsd@dRc9bR !bz #b$b%bze'bbd[dq (b)b*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtcud^dUc.bS /bA :b;b=bCe?bcd_dr @b[b]bDeEeWeJ
827 sa_column_args = _get_sqlmodel_field_value(field_info, "sa_column_args", Undefined) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
828 if sa_column_args is not Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
829 args.extend(list(cast(Sequence[Any], sa_column_args))) 2edgdidkdmdodqdsdud
830 sa_column_kwargs = _get_sqlmodel_field_value( 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
831 field_info, "sa_column_kwargs", Undefined
832 )
833 if sa_column_kwargs is not Undefined: 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
834 kwargs.update(cast(dict[Any, Any], sa_column_kwargs)) 26d9d$d(d+d.d;d@d^d
835 return Column(*args, type_=sa_type, **kwargs) 2d # $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcFe`d' K ( ^b_bVcs ) * + ee, _c7dj - . Wd/ fegeGeB e : ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcHe{d? L @ `b{bWct [ ] ^ he_ `c!dk ` { Xd| iejeIeC a } ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCcJe|dbbM cb|b}bXcu dbebfbkegb{c%dl hbibYdjblemeKeD f kblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFcLe}dnbN ob~bacYcv pbqbrbnesb|c)dm tbubZdvboepeMeE b wbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIcNe~dzbO AbbcccZcw BbCbDbqeEb}c,dn FbGb0dHbreseOeF g IbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLcPeaeLbP Mbdcec0cx NbObPbteQb~c/do RbSb1dTbueveQeG h UbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOcRebeXbQ Ybfcgc1cy Zb0b1bwe2bad=dp 3b4b2d5bxeyeSeH c 6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRcTece9bR !bhcic2cz #b$b%bze'bbd[dq (b)b3d*bAeBeUeI i +b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUcVede.bS /bjckc3cA :b;b=bCe?bcd_dr @b[b4d]bDeEeWeJ
838default_registry = registry() 1deafbghci
840_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1deafbghci
843class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry): 1deafbghci
844 # SQLAlchemy needs to set weakref(s), Pydantic will set the other slots values
845 __slots__ = ("__weakref__",) 1deafbghci
846 __tablename__: ClassVar[str | Callable[..., str]] 1deafbghci
847 __sqlmodel_relationships__: ClassVar[builtins.dict[str, RelationshipInfo]] 1deafbghci
848 __name__: ClassVar[str] 1deafbghci
849 metadata: ClassVar[MetaData] 1deafbghci
850 __allow_unmapped__ = True # https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-20-step-six 1deafbghci
851 model_config = SQLModelConfig(from_attributes=True) 1deafbghci
853 # Typing spec says `__new__` returning `Any` overrides normal constructor
854 # behavior, but a missing annotation does not:
855 def __new__(cls, *args: Any, **kwargs: Any): # type: ignore[no-untyped-def] 1deafbghci
856 new_object = super().__new__(cls) 2Ks*pLsMsArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^ekfxfNsOsPsQsRsTpUpSslfyfVp# $ )fT U uc% lcRpssBs*f' K ( +f^b_bs ) * + , ,f-fofzfAf7fFg- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB QgTs`pUsVsJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)e{eBfWsXsYsZs0swpxp1s|eCfyp: ; .fV W xc= mcpptsCs/f? L @ :f`b{bt [ ] ^ _ ;f=fpfDfEf8fyg` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC Rg2skq3s4sSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+e}eFf5s6s7s8s9szpAp!s~eGfBp} ~ ?fX Y AcabncqpusDs@fbbM cb[f|b}bu dbebfbgb]f^fqfHfIf9fzghbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sg#szq$s%s1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eafJf's(s)s*s+sCpDp,sbfKfEpkblb_fZ 0 DcmbocrpvsEs`fnbN ob{f~bacv pbqbrbsb|f}frfLfMf!fAgtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Tg-sOq.s/s!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`emfNf:s;s=s?s@s4p5p[snfOf6pwbxb~f1 2 GcybpcSpwsFsagzbO Abbgbcccw BbCbDbEbcgdgsfPfQf#fGgFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug]s3q^s_s,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/ecfRf`s{s|s}s~sFpGpatdfSfHpIbJbeg3 4 JcKbqcspxsGsfgLbP Mbggdcecx NbObPbQbhgigtfTfUf$fBgRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vgbt+qctdt[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eefVfetftgthtitIpJpjtffWfKpUbVbjg5 6 McWbrctpysHskgXbQ Yblgfcgcy Zb0b1b2bmgngufXfYf%fCg3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wgkt{qltmtasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?egfZfntotptqtrtLpMpsthf0fNp6b7bog7 8 Pc8bscupzsIspg9bR !bqghcicz #b$b%b'brgsgvf1f2f'fDg(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XgttlrutvtjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[eif3fwtxtytztAtOpPpBtjf4fQp+b,btg9 ! Sc-btcvpAsJsug.bS /bvgjckcA :b;b=b?bwgxgwf5f6f(fEg@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
857 # SQLAlchemy doesn't call __init__ on the base class when querying from DB
858 # Ref: https://docs.sqlalchemy.org/en/14/orm/constructors.html
859 # Set __fields_set__ here, that would have been set when calling __init__
860 # in the Pydantic model so that when SQLAlchemy sets attributes that are
861 # added (e.g. when querying from DB) to the __fields_set__, this already exists
862 init_pydantic_private_attrs(new_object) 2Ks*pLsMsArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^ekfxfNsOsPsQsRsTpUpSslfyfVp# $ )fT U uc% lcRpssBs*f' K ( +f^b_bs ) * + , ,f-fofzfAf7fFg- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB QgTs`pUsVsJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)e{eBfWsXsYsZs0swpxp1s|eCfyp: ; .fV W xc= mcpptsCs/f? L @ :f`b{bt [ ] ^ _ ;f=fpfDfEf8fyg` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC Rg2skq3s4sSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+e}eFf5s6s7s8s9szpAp!s~eGfBp} ~ ?fX Y AcabncqpusDs@fbbM cb[f|b}bu dbebfbgb]f^fqfHfIf9fzghbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sg#szq$s%s1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eafJf's(s)s*s+sCpDp,sbfKfEpkblb_fZ 0 DcmbocrpvsEs`fnbN ob{f~bacv pbqbrbsb|f}frfLfMf!fAgtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Tg-sOq.s/s!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`emfNf:s;s=s?s@s4p5p[snfOf6pwbxb~f1 2 GcybpcSpwsFsagzbO Abbgbcccw BbCbDbEbcgdgsfPfQf#fGgFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug]s3q^s_s,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/ecfRf`s{s|s}s~sFpGpatdfSfHpIbJbeg3 4 JcKbqcspxsGsfgLbP Mbggdcecx NbObPbQbhgigtfTfUf$fBgRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vgbt+qctdt[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eefVfetftgthtitIpJpjtffWfKpUbVbjg5 6 McWbrctpysHskgXbQ Yblgfcgcy Zb0b1b2bmgngufXfYf%fCg3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wgkt{qltmtasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?egfZfntotptqtrtLpMpsthf0fNp6b7bog7 8 Pc8bscupzsIspg9bR !bqghcicz #b$b%b'brgsgvf1f2f'fDg(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XgttlrutvtjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[eif3fwtxtytztAtOpPpBtjf4fQp+b,btg9 ! Sc-btcvpAsJsug.bS /bvgjckcA :b;b=b?bwgxgwf5f6f(fEg@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
863 return new_object 2Ks*pLsMsArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^ekfxfNsOsPsQsRsTpUpSslfyfVp# $ )fT U uc% lcRpssBs*f' K ( +f^b_bs ) * + , ,f-fofzfAf7fFg- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB QgTs`pUsVsJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)e{eBfWsXsYsZs0swpxp1s|eCfyp: ; .fV W xc= mcpptsCs/f? L @ :f`b{bt [ ] ^ _ ;f=fpfDfEf8fyg` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC Rg2skq3s4sSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+e}eFf5s6s7s8s9szpAp!s~eGfBp} ~ ?fX Y AcabncqpusDs@fbbM cb[f|b}bu dbebfbgb]f^fqfHfIf9fzghbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sg#szq$s%s1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eafJf's(s)s*s+sCpDp,sbfKfEpkblb_fZ 0 DcmbocrpvsEs`fnbN ob{f~bacv pbqbrbsb|f}frfLfMf!fAgtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Tg-sOq.s/s!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`emfNf:s;s=s?s@s4p5p[snfOf6pwbxb~f1 2 GcybpcSpwsFsagzbO Abbgbcccw BbCbDbEbcgdgsfPfQf#fGgFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug]s3q^s_s,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/ecfRf`s{s|s}s~sFpGpatdfSfHpIbJbeg3 4 JcKbqcspxsGsfgLbP Mbggdcecx NbObPbQbhgigtfTfUf$fBgRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vgbt+qctdt[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eefVfetftgthtitIpJpjtffWfKpUbVbjg5 6 McWbrctpysHskgXbQ Yblgfcgcy Zb0b1b2bmgngufXfYf%fCg3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wgkt{qltmtasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?egfZfntotptqtrtLpMpsthf0fNp6b7bog7 8 Pc8bscupzsIspg9bR !bqghcicz #b$b%b'brgsgvf1f2f'fDg(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XgttlrutvtjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[eif3fwtxtytztAtOpPpBtjf4fQp+b,btg9 ! Sc-btcvpAsJsug.bS /bvgjckcA :b;b=b?bwgxgwf5f6f(fEg@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
865 def __init__(__pydantic_self__, **data: Any) -> None: 1deafbghci
866 # Uses something other than `self` the first arg to allow "self" as a
867 # settable attribute
869 # SQLAlchemy does very dark black magic and modifies the __init__ method in
870 # sqlalchemy.orm.instrumentation._generate_init()
871 # so, to make SQLAlchemy work, it's needed to explicitly call __init__ to
872 # trigger all the SQLAlchemy logic, it doesn't work using cls.__new__, setting
873 # attributes obj.__dict__, etc. The __init__ method has to be called. But
874 # there are cases where calling all the default logic is not ideal, e.g.
875 # when calling Model.model_validate(), as the validation is done outside
876 # of instance creation.
877 # At the same time, __init__ is what users would normally call, by creating
878 # a new instance, which should have validation and all the default logic.
879 # So, to be able to set up the internal SQLAlchemy logic alone without
880 # executing the rest, and support things like Model.model_validate(), we
881 # use a contextvar to know if we should execute everything.
882 if finish_init.get(): 2Ks*pLsMsArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+nkfNsOsPsQsRsTpUpSslfVp# $ )fT U % lcRpss*f' K ( +f^b_bs ) * + , ,f-fofzfAf7fFg- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Ts`pUsVsJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi{eWsXsYsZs0swpxp1s|eyp: ; .fV W = mcppts/f? L @ :f`b{bt [ ] ^ _ ;f=fpfDfEf8fyg` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC 2skq3s4sSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj}e5s6s7s8s9szpAp!s~eBp} ~ ?fX Y abncqpus@fbbM cb[f|b}bu dbebfbgb]f^fqfHfIf9fzghbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD #szq$s%s1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^jaf's(s)s*s+sCpDp,sbfEpkblb_fZ 0 mbocrpvs`fnbN ob{f~bacv pbqbrbsb|f}frfLfMf!fAgtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE -sOq.s/s!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTomf:s;s=s?s@s4p5p[snf6pwbxb~f1 2 ybpcSpwsagzbO Abbgbcccw BbCbDbEbcgdgsfPfQf#fGgFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF ]s3q^s_s,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5kcf`s{s|s}s~sFpGpatdfHpIbJbeg3 4 KbqcspxsfgLbP Mbggdcecx NbObPbQbhgigtfTfUf$fBgRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG bt+qctdt[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGlefetftgthtitIpJpjtffKpUbVbjg5 6 WbrctpyskgXbQ Yblgfcgcy Zb0b1b2bmgngufXfYf%fCg3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH kt{qltmtasbscsTh|q}q~qarbrcrcmdmxiemfmgmhmgfntotptqtrtLpMpsthfNp6b7bog7 8 8bscupzspg9bR !bqghcicz #b$b%b'brgsgvf1f2f'fDg(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI ttlrutvtjskslsUhmrnrorprqrrr'm(mAi)m*m+m,mifwtxtytztAtOpPpBtjfQp+b,btg9 ! -btcvpAsug.bS /bvgjckcA :b;b=b?bwgxgwf5f6f(fEg@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ
883 sqlmodel_init(self=__pydantic_self__, data=data) 2Ks*pLsMsArBrCr=h+p,p-p.p/p:p%n7n)n*n+nkfNsOsPsQsRsTpUpSslfVp# $ )fT lcRpss*f' K ( +f^b_bs ) * + , ,f-fofzfAf7fFg- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Ts`pUsVsJrKrLrOh{p|p}p~paqbqMiiiPiQiRi{eWsXsYsZs0swpxp1s|eyp: ; .fV mcppts/f? L @ :f`b{bt [ ] ^ _ ;f=fpfDfEf8fyg` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC 2skq3s4sSrTrUrPhlqmqnqoqpqqqnjliqjrjsj}e5s6s7s8s9szpAp!s~eBp} ~ ?fX ncqpus@fbbM cb[f|b}bu dbebfbgb]f^fqfHfIf9fzghbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD #szq$s%s1r2r3rQhAqBqCqDqEqFq=joi[j]j^jaf's(s)s*s+sCpDp,sbfEpkblb_fZ ocrpvs`fnbN ob{f~bacv pbqbrbsb|f}frfLfMf!fAgtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE -sOq.s/s!r#r$r?hPqQqRqSqTqUqOo!nRoSoTomf:s;s=s?s@s4p5p[snf6pwbxb~f1 pcSpwsagzbO Abbgbcccw BbCbDbEbcgdgsfPfQf#fGgFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF ]s3q^s_s,r-r.rRh4q5q6q7q8q9q0kri3k4k5kcf`s{s|s}s~sFpGpatdfHpIbJbeg3 qcspxsfgLbP Mbggdcecx NbObPbQbhgigtfTfUf$fBgRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG bt+qctdt[r]r^rSh,q-q.q/q:q;qBluiElFlGlefetftgthtitIpJpjtffKpUbVbjg5 rctpyskgXbQ Yblgfcgcy Zb0b1b2bmgngufXfYf%fCg3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH kt{qltmtasbscsTh|q}q~qarbrcrcmxifmgmhmgfntotptqtrtLpMpsthfNp6b7bog7 scupzspg9bR !bqghcicz #b$b%b'brgsgvf1f2f'fDg(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI ttlrutvtjskslsUhmrnrorprqrrr'mAi*m+m,mifwtxtytztAtOpPpBtjfQp+b,btg9 tcvpAsug.bS /bvgjckcA :b;b=b?bwgxgwf5f6f(fEg@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ
885 def __setattr__(self, name: str, value: Any) -> None: 1deafbghci
886 if name in {"_sa_instance_state"}: 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^exfyf# $ T U uc% lcssBs' K ( ^b_bs ) * + , of- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Qg`pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)eBfCf: ; V W xc= mctsCs? L @ `b{bt [ ] ^ _ pf` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC RgkqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+eFfGf} ~ X Y AcabncusDsbbM cb|b}bu dbebfbgbqfhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sgzq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eJfKfkblbZ 0 DcmbocvsEsnbN ob~bacv pbqbrbsbrftbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE TgOq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`eNfOfwbxb1 2 GcybpcwsFszbO Abbcccw BbCbDbEbsfFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/eRfSfIbJb3 4 JcKbqcxsGsLbP Mbdcecx NbObPbQbtfRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vg+q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eVfWfUbVb5 6 McWbrcysHsXbQ Ybfcgcy Zb0b1b2buf3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wg{qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?eZf0f6b7b7 8 Pc8bsczsIs9bR !bhcicz #b$b%b'bvf(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XglrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[e3f4f+b,b9 ! Sc-btcAsJs.bS /bjckcA :b;b=b?bwf@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
887 self.__dict__[name] = value 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n# $ T U uc% lc' K ( ^b_bs ) * + , - . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB `pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi: ; V W xc= mc? L @ `b{bt [ ] ^ _ ` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC kqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj} ~ X Y AcabncbbM cb|b}bu dbebfbgbhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD zq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^jkblbZ 0 DcmbocnbN ob~bacv pbqbrbsbtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Oq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTowbxb1 2 GcybpczbO Abbcccw BbCbDbEbFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF 3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5kIbJb3 4 JcKbqcLbP Mbdcecx NbObPbQbRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG +q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGlUbVb5 6 McWbrcXbQ Ybfcgcy Zb0b1b2b3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH {qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm6b7b7 8 Pc8bsc9bR !bhcicz #b$b%b'b(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI lrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m+b,b9 ! Sc-btc.bS /bjckcA :b;b=b?b@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ
888 return 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n# $ T U uc% lc' K ( ^b_bs ) * + , - . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB `pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi: ; V W xc= mc? L @ `b{bt [ ] ^ _ ` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC kqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj} ~ X Y AcabncbbM cb|b}bu dbebfbgbhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD zq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^jkblbZ 0 DcmbocnbN ob~bacv pbqbrbsbtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Oq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTowbxb1 2 GcybpczbO Abbcccw BbCbDbEbFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF 3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5kIbJb3 4 JcKbqcLbP Mbdcecx NbObPbQbRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG +q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGlUbVb5 6 McWbrcXbQ Ybfcgcy Zb0b1b2b3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH {qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm6b7b7 8 Pc8bsc9bR !bhcicz #b$b%b'b(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI lrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m+b,b9 ! Sc-btc.bS /bjckcA :b;b=b?b@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ
889 else:
890 # Set in SQLAlchemy, before Pydantic to trigger events and updates
891 if is_table_model_class(self.__class__) and is_instrumented(self, name): 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^exfyf# $ T U % lcssBs' K ( ^b_bs ) * + , of- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Qg`pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)eBfCf: ; V W = mctsCs? L @ `b{bt [ ] ^ _ pf` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC RgkqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+eFfGf} ~ X Y abncusDsbbM cb|b}bu dbebfbgbqfhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sgzq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eJfKfkblbZ 0 mbocvsEsnbN ob~bacv pbqbrbsbrftbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE TgOq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`eNfOfwbxb1 2 ybpcwsFszbO Abbcccw BbCbDbEbsfFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/eRfSfIbJb3 4 KbqcxsGsLbP Mbdcecx NbObPbQbtfRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vg+q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eVfWfUbVb5 6 WbrcysHsXbQ Ybfcgcy Zb0b1b2buf3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wg{qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?eZf0f6b7b7 8 8bsczsIs9bR !bhcicz #b$b%b'bvf(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XglrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[e3f4f+b,b9 ! -btcAsJs.bS /bjckcA :b;b=b?bwf@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
892 set_attribute(self, name, value) 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n# $ T U % lc' K ( ^b_bs ) * + , - . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB `pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi: ; V W = mc? L @ `b{bt [ ] ^ _ ` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC kqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj} ~ X Y abncbbM cb|b}bu dbebfbgbhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD zq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^jkblbZ 0 mbocnbN ob~bacv pbqbrbsbtbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE Oq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTowbxb1 2 ybpczbO Abbcccw BbCbDbEbFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF 3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5kIbJb3 4 KbqcLbP Mbdcecx NbObPbQbRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG +q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGlUbVb5 6 WbrcXbQ Ybfcgcy Zb0b1b2b3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH {qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm6b7b7 8 8bsc9bR !bhcicz #b$b%b'b(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI lrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m+b,b9 ! -btc.bS /bjckcA :b;b=b?b@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ
893 # Set in Pydantic model to trigger possible validation changes, only for
894 # non relationship values
895 if name not in self.__sqlmodel_relationships__: 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^exfyf# $ T U % lcssBs' K ( ^b_bs ) * + , of- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Qg`pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)eBfCf: ; V W = mctsCs? L @ `b{bt [ ] ^ _ pf` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC RgkqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+eFfGf} ~ X Y abncusDsbbM cb|b}bu dbebfbgbqfhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sgzq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eJfKfkblbZ 0 mbocvsEsnbN ob~bacv pbqbrbsbrftbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE TgOq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`eNfOfwbxb1 2 ybpcwsFszbO Abbcccw BbCbDbEbsfFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/eRfSfIbJb3 4 KbqcxsGsLbP Mbdcecx NbObPbQbtfRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vg+q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eVfWfUbVb5 6 WbrcysHsXbQ Ybfcgcy Zb0b1b2buf3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wg{qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?eZf0f6b7b7 8 8bsczsIs9bR !bhcicz #b$b%b'bvf(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XglrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[e3f4f+b,b9 ! -btcAsJs.bS /bjckcA :b;b=b?bwf@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
896 super().__setattr__(name, value) 2*pArBrCr=h+p,p-p.p/p:p%n'n7n(n)n*n+n]e^exfyf# $ T U % lcssBs' K ( ^b_bs ) * + , of- . / ,n-n.n/n:n;n=n?n@n[n]n^n_n;p=p?p@p[p]p4h^pWpXp_p5hDr6h`n7h8h9h8n9nErFrGr{n|n}n~naobocodoHreofogohoiojoIrkolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoB Qg`pJrKrLrOh{p|p}p~paqbqMiNiiiOiPiQiRi(e)eBfCf: ; V W = mctsCs? L @ `b{bt [ ] ^ _ pf` { | SiTiUiViWiXiYiZi0i1i2i3i4icqdqeqfqgqhq?giqYpZpjq@gMr[g5i]g^g_gjikiNrOrPr6i7i8i9i!i#i$i%iQr'i(i)i*i+i,iRr-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjC RgkqSrTrUrPhlqmqnqoqpqqqnjojlipjqjrjsj*e+eFfGf} ~ X Y abncusDsbbM cb|b}bu dbebfbgbqfhbibjbtjujvjwjxjyjzjAjBjCjDjEjFjrqsqtquqvqwq`gxq0p1pyq{gVr|gGj}g~gahminiWrXrYrHjIjJjKjLjMjNjOjZrPjQjRjSjTjUj0rVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jD Sgzq1r2r3rQhAqBqCqDqEqFq=j?joi@j[j]j^j,e-eJfKfkblbZ 0 mbocvsEsnbN ob~bacv pbqbrbsbrftbubvb_j`j{j|j}j~jakbkckdkekfkgkGqHqIqJqKqLqbhMq2p3pNqch4rdhhkehfhghpiqi5r6r7rikjkkklkmknkokpk8rqkrksktkukvk9rwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkE TgOq!r#r$r?hPqQqRqSqTqUqOoPo!nQoRoSoTo_e`eNfOfwbxb1 2 ybpcwsFszbO Abbcccw BbCbDbEbsfFbGbHbUoVoWoXoYoZo0o1o2o3o4o5o6oVqWqXqYqZq0q!h1q7p8p2q#h%r$h7o%h'h(h#n$n'r(r)r8o9o!o#o$o%o'o(o*r)o*o+o,o-o.o+r/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopF Ug3q,r-r.rRh4q5q6q7q8q9q0k1kri2k3k4k5k.e/eRfSfIbJb3 4 KbqcxsGsLbP Mbdcecx NbObPbQbtfRbSbTb6k7k8k9k!k#k$k%k'k(k)k*k+k!q#q$q%q'q(qhh)q9p!p*qih/rjh,kkhlhmhsiti:r;r=r-k.k/k:k;k=k?k@k?r[k]k^k_k`k{k@r|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlG Vg+q[r]r^rSh,q-q.q/q:q;qBlCluiDlElFlGl:e;eVfWfUbVb5 6 WbrcysHsXbQ Ybfcgcy Zb0b1b2buf3b4b5bHlIlJlKlLlMlNlOlPlQlRlSlTl=q?q@q[q]q^qnh_q#p$p`qoh_rphUlqhrhshviwi`r{r|rVlWlXlYlZl0l1l2l}r3l4l5l6l7l8l~r9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmH Wg{qasbscsTh|q}q~qarbrcrcmdmxiemfmgmhm=e?eZf0f6b7b7 8 8bsczsIs9bR !bhcicz #b$b%b'bvf(b)b*bimjmkmlmmmnmompmqmrmsmtmumdrerfrgrhrirthjr%p'pkruhdsvhvmwhxhyhyiziesfsgswmxmymzmAmBmCmDmhsEmFmGmHmImJmisKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mI XglrjskslsUhmrnrorprqrrr'm(mAi)m*m+m,m@e[e3f4f+b,b9 ! -btcAsJs.bS /bjckcA :b;b=b?bwf@b[b]b-m.m/m:m;m=m?m@m[m]m^m_m`msrtrurvrwrxrzhyr(p)pzrAhmsBh{mChDhEhBiCinsosps|m}m~manbncndnenqsfngnhninjnknrslnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnJ Yg
898 def __repr_args__(self) -> Sequence[tuple[str | None, Any]]: 1deafbghci
899 # Don't show SQLAlchemy private attributes
900 return [ 27f8f9f!f#f$f%f'f(f
901 (k, v)
902 for k, v in super().__repr_args__()
903 if not (isinstance(k, str) and k.startswith("_sa_"))
904 ]
906 @declared_attr # type: ignore 1deafbghci
907 def __tablename__(cls) -> str: 1deafbghci
908 return cls.__name__.lower() 2d Ct# $ vdddT U ucvc5dNd% 4cwdlc5c6ced6dwcXeYeFe`d' K ( ^b_bVcs ) * + , _c7dj - . Wd/ DtEtFtWpXp8n9nGtB e Ht: ; xdfdV W xcyc8dOd= 7cydmc8c9cgd9dzcZe0eHe{d? L @ `b{bWct [ ] ^ _ `c!dk ` { Xd| ItJtKtYpZpjikiLtC a Mt} ~ zdhdX Y AcBc#dPdab!cAdnc#c$cid$dCc1e2eJe|dbbM cb|b}bXcu dbebfbgb{c%dl hbibYdjbNtOtPt0p1pminiQtD f RtkblbBdjdZ 0 DcEc'dQdmb%cCdoc'c(ckd(dFc3e4eLe}dnbN ob~bacYcv pbqbrbsb|c)dm tbubZdvbStTtUt2p3ppiqiVtE b WtwbxbDdld1 2 GcHc*dRdyb)cEdpc*c+cmd+dIc5e6eNe~dzbO AbbcccZcw BbCbDbEb}c,dn FbGb0dHbXtYtZt7p8p#n$n0tF g 1tIbJbFdnd3 4 JcKc-dSdKb,cGdqc-c.cod.dLc7e8ePeaeLbP Mbdcec0cx NbObPbQb~c/do RbSb1dTb2t3t4t9p!psiti5tG h 6tUbVbHdpd5 6 McNc:dTdWb/cIdrc:c;cqd;dOc9e!eRebeXbQ Ybfcgc1cy Zb0b1b2bad=dp 3b4b2d5b7t8t9t#p$pviwi!tH c #t6b7bJdrd7 8 PcQc?dUd8b=cKdsc?c@csd@dRc#e$eTece9bR !bhcic2cz #b$b%b'bbd[dq (b)b3d*b$t%t't%p'pyizi(tI i )t+b,bLdtd9 ! ScTc]dVd-b[cMdtc]c^cud^dUc%e'eVede.bS /bjckc3cA :b;b=b?bcd_dr @b[b4d]b*t+t,t(p)pBiCi-tJ
910 @classmethod 1deafbghci
911 def model_validate( # ty: ignore[invalid-method-override] 1deafbghci
912 cls: type[_TSQLModel],
913 obj: Any,
914 *,
915 strict: bool | None = None,
916 from_attributes: bool | None = None,
917 context: builtins.dict[str, Any] | None = None,
918 update: builtins.dict[str, Any] | None = None,
919 ) -> _TSQLModel:
920 return sqlmodel_validate( 2*p+p,p-p.p/p:p'n7n(n]e^exfyfU % ssBsof;p=p?p@p[p]p4h^pWpXp_p5h6h7h8h9hQg`p{p|p}p~paqbqNiiiOi(e)eBfCfW = tsCspfcqdqeqfqgqhq?giqYpZpjq@g[g]g^g_gRgkqlqmqnqoqpqqqojlipj*e+eFfGfY abusDsqfrqsqtquqvqwq`gxq0p1pyq{g|g}g~gahSgzqAqBqCqDqEqFq?joi@j,e-eJfKf0 mbvsEsrfGqHqIqJqKqLqbhMq2p3pNqchdhehfhghTgOqPqQqRqSqTqUqPo!nQo_e`eNfOf2 ybwsFssfVqWqXqYqZq0q!h1q7p8p2q#h$h%h'h(hUg3q4q5q6q7q8q9q1kri2k.e/eRfSf4 KbxsGstf!q#q$q%q'q(qhh)q9p!p*qihjhkhlhmhVg+q,q-q.q/q:q;qCluiDl:e;eVfWf6 WbysHsuf=q?q@q[q]q^qnh_q#p$p`qohphqhrhshWg{q|q}q~qarbrcrdmxiem=e?eZf0f8 8bzsIsvfdrerfrgrhrirthjr%p'pkruhvhwhxhyhXglrmrnrorprqrrr(mAi)m@e[e3f4f! -bAsJswfsrtrurvrwrxrzhyr(p)pzrAhBhChDhEhYg
921 cls=cls,
922 obj=obj,
923 strict=strict,
924 from_attributes=from_attributes,
925 context=context,
926 update=update,
927 )
929 def model_dump( 1deafbghci
930 self,
931 *,
932 mode: Literal["json", "python"] | str = "python",
933 include: IncEx | None = None,
934 exclude: IncEx | None = None,
935 context: Any | None = None, # v2.7
936 by_alias: bool | None = None,
937 exclude_unset: bool = False,
938 exclude_defaults: bool = False,
939 exclude_none: bool = False,
940 exclude_computed_fields: bool = False, # v2.12
941 round_trip: bool = False,
942 warnings: bool | Literal["none", "warn", "error"] = True,
943 fallback: Callable[[Any], Any] | None = None, # v2.11
944 serialize_as_any: bool = False, # v2.7
945 polymorphic_serialization: bool | None = None, # v2.13
946 ) -> builtins.dict[str, Any]:
947 if PYDANTIC_MINOR_VERSION < (2, 11): 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
948 by_alias = by_alias or False
949 extra_kwargs: dict[str, Any] = {} 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
950 extra_kwargs["context"] = context 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
951 extra_kwargs["serialize_as_any"] = serialize_as_any 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
952 if PYDANTIC_MINOR_VERSION >= (2, 11): 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
953 extra_kwargs["fallback"] = fallback 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
954 if PYDANTIC_MINOR_VERSION >= (2, 12): 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
955 extra_kwargs["exclude_computed_fields"] = exclude_computed_fields 2OhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
956 if PYDANTIC_MINOR_VERSION >= (2, 13): 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
957 extra_kwargs["polymorphic_serialization"] = polymorphic_serialization 2OhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZkRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
958 return super().model_dump( 2=h%n'n7n(n)n*n+n]e^ekfTpUplfVpRpFg,n-n.n/n:n;n=n?n@n[n]n^n_n4h5h6h`n7h8h9h8n9n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOhMiNiiiOiPiQiRi(e)e{ewpxp|eypppygSiTiUiViWiXiYiZi0i1i2i3i4i?g@g[g5i]g^g_gjiki6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~iajbjcjdjejfjgjhjijjjkjljmjPhnjojlipjqjrjsj*e+e}ezpAp~eBpqpzgtjujvjwjxjyjzjAjBjCjDjEjFj`g{g|gGj}g~gahminiHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;jQh=j?joi@j[j]j^j,e-eafCpDpbfEprpAg_j`j{j|j}j~jakbkckdkekfkgkbhchdhhkehfhghpiqiikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk?hOoPo!nQoRoSoTo_e`emf4p5pnf6pSpGgUoVoWoXoYoZo0o1o2o3o4o5o6o!h#h$h7o%h'h(h#n$n8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopRh0k1kri2k3k4k5k.e/ecfFpGpdfHpspBg6k7k8k9k!k#k$k%k'k(k)k*k+khhihjh,kkhlhmhsiti-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlShBlCluiDlElFlGl:e;eefIpJpffKptpCgHlIlJlKlLlMlNlOlPlQlRlSlTlnhohphUlqhrhshviwiVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmThcmdmxiemfmgmhm=e?egfLpMphfNpupDgimjmkmlmmmnmompmqmrmsmtmumthuhvhvmwhxhyhyiziwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%mUh'm(mAi)m*m+m,m@e[eifOpPpjfQpvpEg-m.m/m:m;m=m?m@m[m]m^m_m`mzhAhBh{mChDhEhBiCi|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOn
959 mode=mode,
960 include=include,
961 exclude=exclude,
962 by_alias=by_alias,
963 exclude_unset=exclude_unset,
964 exclude_defaults=exclude_defaults,
965 exclude_none=exclude_none,
966 round_trip=round_trip,
967 warnings=warnings,
968 **extra_kwargs,
969 )
971 @deprecated( 1deafbghci
972 """
973 🚨 `obj.dict()` was deprecated in SQLModel 0.0.14, you should
974 instead use `obj.model_dump()`.
975 """
976 )
977 def dict( 1deafbghci
978 self,
979 *,
980 include: IncEx | None = None,
981 exclude: IncEx | None = None,
982 by_alias: bool = False,
983 exclude_unset: bool = False,
984 exclude_defaults: bool = False,
985 exclude_none: bool = False,
986 ) -> builtins.dict[str, Any]:
987 return self.model_dump( 2RpppqprpSpsptpupvp
988 include=include,
989 exclude=exclude,
990 by_alias=by_alias,
991 exclude_unset=exclude_unset,
992 exclude_defaults=exclude_defaults,
993 exclude_none=exclude_none,
994 )
996 @classmethod 1deafbghci
997 @deprecated( 1deafbghci
998 """
999 🚨 `obj.from_orm(data)` was deprecated in SQLModel 0.0.14, you should
1000 instead use `obj.model_validate(data)`.
1001 """
1002 )
1003 def from_orm( 1deafbghci
1004 cls: type[_TSQLModel],
1005 obj: Any,
1006 update: builtins.dict[str, Any] | None = None,
1007 ) -> _TSQLModel:
1008 return cls.model_validate(obj, update=update) 2sstsusvswsxsyszsAs
1010 @classmethod 1deafbghci
1011 @deprecated( 1deafbghci
1012 """
1013 🚨 `obj.parse_obj(data)` was deprecated in SQLModel 0.0.14, you should
1014 instead use `obj.model_validate(data)`.
1015 """
1016 )
1017 def parse_obj( 1deafbghci
1018 cls: type[_TSQLModel],
1019 obj: Any,
1020 update: builtins.dict[str, Any] | None = None,
1021 ) -> _TSQLModel:
1022 return cls.model_validate(obj, update=update) 2BsCsDsEsFsGsHsIsJs
1024 def sqlmodel_update( 1deafbghci
1025 self: _TSQLModel,
1026 obj: builtins.dict[str, Any] | BaseModel,
1027 *,
1028 update: builtins.dict[str, Any] | None = None,
1029 ) -> _TSQLModel:
1030 use_update = (update or {}).copy() 2=h4h5h6h7h8h9hB Oh?g@g[g]g^g_gC Ph`g{g|g}g~gahD QhbhchdhehfhghE ?h!h#h$h%h'h(hF RhhhihjhkhlhmhG ShnhohphqhrhshH ThthuhvhwhxhyhI UhzhAhBhChDhEhJ
1031 if isinstance(obj, dict): 2=h4h5h6h7h8h9hB Oh?g@g[g]g^g_gC Ph`g{g|g}g~gahD QhbhchdhehfhghE ?h!h#h$h%h'h(hF RhhhihjhkhlhmhG ShnhohphqhrhshH ThthuhvhwhxhyhI UhzhAhBhChDhEhJ
1032 for key, value in {**obj, **use_update}.items(): 2=h4h5h6h7h8h9hOh?g@g[g]g^g_gPh`g{g|g}g~gahQhbhchdhehfhgh?h!h#h$h%h'h(hRhhhihjhkhlhmhShnhohphqhrhshThthuhvhwhxhyhUhzhAhBhChDhEh
1033 if key in get_model_fields(self): 2=h4h5h6h7h8h9hOh?g@g[g]g^g_gPh`g{g|g}g~gahQhbhchdhehfhgh?h!h#h$h%h'h(hRhhhihjhkhlhmhShnhohphqhrhshThthuhvhwhxhyhUhzhAhBhChDhEh
1034 setattr(self, key, value) 2=h4h5h6h7h8h9hOh?g@g[g]g^g_gPh`g{g|g}g~gahQhbhchdhehfhgh?h!h#h$h%h'h(hRhhhihjhkhlhmhShnhohphqhrhshThthuhvhwhxhyhUhzhAhBhChDhEh
1035 elif isinstance(obj, BaseModel): 1BCDEFGHIJ
1036 for key in get_model_fields(obj): 1BCDEFGHIJ
1037 if key in use_update: 1BCDEFGHIJ
1038 value = use_update.pop(key)
1039 else:
1040 value = getattr(obj, key) 1BCDEFGHIJ
1041 setattr(self, key, value) 1BCDEFGHIJ
1042 for remaining_key, value in use_update.items(): 1BCDEFGHIJ
1043 if remaining_key in get_model_fields(self): 1BCDEFGHIJ
1044 setattr(self, remaining_key, value) 1BCDEFGHIJ
1045 else:
1046 raise ValueError(
1047 "Can't use sqlmodel_update() with something that "
1048 f"is not a dict, SQLModel, or Pydantic model: {obj}"
1049 )
1050 return self 2=h4h5h6h7h8h9hB Oh?g@g[g]g^g_gC Ph`g{g|g}g~gahD QhbhchdhehfhghE ?h!h#h$h%h'h(hF RhhhihjhkhlhmhG ShnhohphqhrhshH ThthuhvhwhxhyhI UhzhAhBhChDhEhJ