File tree 2 files changed +15
-16
lines changed
2 files changed +15
-16
lines changed Original file line number Diff line number Diff line change @@ -68,27 +68,27 @@ with engine.connect() as conn:
68
68
69
69
``` python
70
70
from pydantic import BaseModel, Field
71
+
71
72
from sqla_fancy_core import TableFactory
72
73
73
74
tf = TableFactory()
74
75
75
- def field (col , default = ... ):
76
- return col.info[" field" ](default)
77
-
78
76
# Define a table
79
77
class User :
80
- name = tf.string(
81
- " name" , info = {" field" : lambda default : Field(default, max_length = 5 )}
82
- )
78
+ name = tf.string(" name" )
83
79
Table = tf(" author" )
84
80
81
+ @ staticmethod
82
+ def name_field (default = ... ):
83
+ return Field(default, max_length = 5 )
84
+
85
85
# Define a pydantic schema
86
86
class CreateUser (BaseModel ):
87
- name: str = field( User.name )
87
+ name: str = User.name_field( )
88
88
89
89
# Define a pydantic schema
90
90
class UpdateUser (BaseModel ):
91
- name: str | None = field( User.name, None )
91
+ name: str | None = User.name_field( None )
92
92
93
93
assert CreateUser(name = " John" ).model_dump() == {" name" : " John" }
94
94
assert UpdateUser(name = " John" ).model_dump() == {" name" : " John" }
Original file line number Diff line number Diff line change @@ -8,23 +8,22 @@ def test_field():
8
8
9
9
tf = TableFactory ()
10
10
11
- def field (col , default = ...):
12
- return col .info ["field" ](default )
13
-
14
11
# Define a table
15
12
class User :
16
- name = tf .string (
17
- "name" , info = {"field" : lambda default : Field (default , max_length = 5 )}
18
- )
13
+ name = tf .string ("name" )
19
14
Table = tf ("author" )
20
15
16
+ @staticmethod
17
+ def name_field (default = ...):
18
+ return Field (default , max_length = 5 )
19
+
21
20
# Define a pydantic schema
22
21
class CreateUser (BaseModel ):
23
- name : str = field ( User .name )
22
+ name : str = User .name_field ( )
24
23
25
24
# Define a pydantic schema
26
25
class UpdateUser (BaseModel ):
27
- name : str | None = field ( User .name , None )
26
+ name : str | None = User .name_field ( None )
28
27
29
28
assert CreateUser (name = "John" ).model_dump () == {"name" : "John" }
30
29
assert UpdateUser (name = "John" ).model_dump () == {"name" : "John" }
You can’t perform that action at this time.
0 commit comments