File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -316,8 +316,10 @@ def _create_schema_filter(self) -> Type[SchemaFilterT]:
316316 )
317317
318318 def _create_schema_read (self ) -> Optional [Type [SchemaReadT ]]:
319- if not self .read_fields :
319+ if self .read_fields is None :
320320 return None
321+ # Set the read fields to the schema update if not provided
322+ self .read_fields = self .read_fields or model_fields (self .schema_update )
321323 # Filter out any non-model fields from the read fields
322324 modelfields = self .parser .filter_modelfield (self .read_fields )
323325 # Create the schema using the model fields
Original file line number Diff line number Diff line change @@ -81,8 +81,8 @@ def register_crud(
8181 self .schema_list = schema_list or self .schema_list or self ._create_schema_list ()
8282 self .schema_filter = schema_filter or self .schema_filter or self ._create_schema_filter ()
8383 self .schema_create = schema_create or self .schema_create or self ._create_schema_create ()
84- self .schema_read = schema_read or self .schema_read or self ._create_schema_read ()
8584 self .schema_update = schema_update or self .schema_update or self ._create_schema_update ()
85+ self .schema_read = schema_read or self .schema_read or self ._create_schema_read ()
8686 self .list_per_page_max = list_per_page_max or self .list_per_page_max
8787 self .paginator = Paginator (perPageMax = self .list_per_page_max )
8888 self .router .add_api_route (
Original file line number Diff line number Diff line change @@ -364,6 +364,7 @@ class ArticleCrud(SqlalchemyCrud):
364364async def test_read_fields_and_schema_read_is_none (app : FastAPI , models ):
365365 class ArticleCrud (SqlalchemyCrud ):
366366 router_prefix = "/article"
367+ read_fields = None
367368
368369 ins = ArticleCrud (models .Article , db .engine ).register_crud ()
369370
You can’t perform that action at this time.
0 commit comments