minor fixes and updates
This commit is contained in:
@@ -67,14 +67,31 @@ class BotEntityMetaclass(SQLModelMetaclass):
|
||||
descriptor_kwargs = attribute_value.__dict__.copy()
|
||||
sm_descriptor = descriptor_kwargs.pop("sm_descriptor", None) # type: FieldInfo
|
||||
|
||||
if attribute_value.default is not None:
|
||||
if sm_descriptor:
|
||||
if (
|
||||
sm_descriptor
|
||||
attribute_value.default is not None
|
||||
and sm_descriptor.default is PydanticUndefined
|
||||
):
|
||||
sm_descriptor.default = attribute_value.default
|
||||
else:
|
||||
sm_descriptor = Field(default=attribute_value.default)
|
||||
if (
|
||||
attribute_value.default_factory is not None
|
||||
and sm_descriptor.default_factory is PydanticUndefined
|
||||
):
|
||||
sm_descriptor.default_factory = (
|
||||
attribute_value.default_factory
|
||||
)
|
||||
else:
|
||||
if (
|
||||
attribute_value.default is not None
|
||||
or attribute_value.default_factory is not None
|
||||
):
|
||||
sm_descriptor = Field()
|
||||
if attribute_value.default is not None:
|
||||
sm_descriptor.default = attribute_value.default
|
||||
if attribute_value.default_factory is not None:
|
||||
sm_descriptor.default_factory = (
|
||||
attribute_value.default_factory
|
||||
)
|
||||
|
||||
if sm_descriptor:
|
||||
namespace[annotation] = sm_descriptor
|
||||
@@ -167,23 +184,6 @@ class BotEntityMetaclass(SQLModelMetaclass):
|
||||
fields_descriptors=bot_fields_descriptors,
|
||||
)
|
||||
|
||||
# descriptor_fields_sequence = [
|
||||
# key
|
||||
# for key, val in bot_fields_descriptors.items()
|
||||
# if not (val.is_optional or val.name == "id" or val.name[:-3] == "_id")
|
||||
# ]
|
||||
|
||||
# entity_descriptor: EntityDescriptor = namespace["bot_entity_descriptor"]
|
||||
|
||||
# if entity_descriptor.default_form.edit_field_sequence is None:
|
||||
# entity_descriptor.default_form.edit_field_sequence = (
|
||||
# descriptor_fields_sequence
|
||||
# )
|
||||
|
||||
# for form in entity_descriptor.forms.values():
|
||||
# if form.edit_field_sequence is None:
|
||||
# form.edit_field_sequence = descriptor_fields_sequence
|
||||
|
||||
for field_descriptor in bot_fields_descriptors.values():
|
||||
field_descriptor.entity_descriptor = namespace["bot_entity_descriptor"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user