Skip to content

Commit d55f7a2

Browse files
committed
perf: Convert the amis Form Item configuration completely to a dict.
1 parent f32f01d commit d55f7a2

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

fastapi_amis_admin/admin/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,11 @@ def get_field_amis_form_item_type(self, type_: Any, is_filter: bool, required: b
240240
elif issubclass(type_, int):
241241
kwargs["type"] = "input-number"
242242
kwargs["precision"] = 0
243-
kwargs["validations"] = Validation(isInt=True)
243+
kwargs["validations"] = Validation(isInt=True).amis_dict()
244244
elif issubclass(type_, float):
245245
kwargs["type"] = "input-number"
246246
kwargs["precision"] = 3
247-
kwargs["validations"] = Validation(isFloat=True)
247+
kwargs["validations"] = Validation(isFloat=True).amis_dict()
248248
elif issubclass(type_, datetime.datetime):
249249
kwargs["type"] = "input-datetime"
250250
kwargs["format"] = "YYYY-MM-DD HH:mm:ss"
@@ -261,7 +261,7 @@ def get_field_amis_form_item_type(self, type_: Any, is_filter: bool, required: b
261261
kwargs["type"] = "input-sub-form"
262262
kwargs["labelField"] = get_model_label_field_name(type_)
263263
kwargs["btnLabel"] = getattr(type_.Config, "title", None)
264-
kwargs["form"] = self.as_amis_form(type_, is_filter=is_filter)
264+
kwargs["form"] = self.as_amis_form(type_, is_filter=is_filter).amis_dict()
265265
else:
266266
kwargs["type"] = "input-text"
267267
return kwargs

tests/test_admin/test_parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ class User(BaseModel):
242242
assert formitem.type == "input-sub-form"
243243
assert formitem.name == "role"
244244
assert formitem.label == "角色"
245-
assert formitem.form.body[0].name == "id" # type: ignore
246-
assert formitem.form.body[1].name == "name" # type: ignore
245+
assert formitem.form["body"][0]["name"] == "id" # type: ignore
246+
assert formitem.form["body"][1]["name"] == "name" # type: ignore
247247

248248
modelfield2 = User.__fields__["roles"]
249249
assert modelfield2.type_ == Role

0 commit comments

Comments
 (0)