fastadmin 0.1.15__py3-none-any.whl → 0.1.17__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fastadmin/api/api.py +3 -5
- fastadmin/models/base.py +13 -10
- fastadmin/models/orm/tortoise.py +1 -1
- fastadmin/schemas/configuration.py +1 -0
- fastadmin/static/js/main.min.js +3 -3
- fastadmin/static/js/main.min.js.map +1 -1
- {fastadmin-0.1.15.dist-info → fastadmin-0.1.17.dist-info}/METADATA +11 -110
- {fastadmin-0.1.15.dist-info → fastadmin-0.1.17.dist-info}/RECORD +10 -10
- {fastadmin-0.1.15.dist-info → fastadmin-0.1.17.dist-info}/LICENSE +0 -0
- {fastadmin-0.1.15.dist-info → fastadmin-0.1.17.dist-info}/WHEEL +0 -0
fastadmin/api/api.py
CHANGED
@@ -370,7 +370,7 @@ async def configuration(
|
|
370
370
|
),
|
371
371
|
)
|
372
372
|
|
373
|
-
for field_name in admin_obj.list_display:
|
373
|
+
for column_index, field_name in enumerate(admin_obj.list_display):
|
374
374
|
display_field_function = getattr(admin_obj, field_name, None)
|
375
375
|
if (
|
376
376
|
not display_field_function
|
@@ -379,15 +379,12 @@ async def configuration(
|
|
379
379
|
):
|
380
380
|
continue
|
381
381
|
|
382
|
-
column_index = admin_obj.list_display.index(field_name) if field_name in admin_obj.list_display else None
|
383
|
-
if column_index is None:
|
384
|
-
continue
|
385
382
|
fields_schema.append(
|
386
383
|
ModelFieldSchema(
|
387
384
|
name=field_name,
|
388
385
|
list_configuration=ListConfigurationFieldSchema(
|
389
386
|
index=column_index,
|
390
|
-
sorter=
|
387
|
+
sorter=False,
|
391
388
|
is_link=field_name in admin_obj.list_display_links,
|
392
389
|
empty_value_display=admin_obj.empty_value_display,
|
393
390
|
filter_widget_type=None,
|
@@ -433,6 +430,7 @@ async def configuration(
|
|
433
430
|
actions_on_bottom=admin_obj.actions_on_bottom,
|
434
431
|
actions_selection_counter=admin_obj.actions_selection_counter,
|
435
432
|
fields=fields_schema,
|
433
|
+
fieldsets=admin_obj.fieldsets,
|
436
434
|
list_per_page=admin_obj.list_per_page,
|
437
435
|
save_on_top=admin_obj.save_on_top,
|
438
436
|
save_as=admin_obj.save_as,
|
fastadmin/models/base.py
CHANGED
@@ -420,18 +420,21 @@ class BaseModelAdmin:
|
|
420
420
|
|
421
421
|
:return: A list of model field names.
|
422
422
|
"""
|
423
|
-
fields = self.fields
|
424
423
|
model_fields = self.get_model_fields()
|
425
|
-
if not fields:
|
426
|
-
return [f for f in model_fields if not self.exclude or f not in self.exclude]
|
427
|
-
return [f for f in fields if f in model_fields]
|
428
424
|
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
425
|
+
fields = [f for f in model_fields if model_fields[f].get("is_pk")]
|
426
|
+
if not self.fields:
|
427
|
+
if self.fieldsets:
|
428
|
+
for item in self.fieldsets:
|
429
|
+
for field in item[1].get("fields") or []:
|
430
|
+
if field not in fields and field not in self.exclude:
|
431
|
+
fields.append(field)
|
432
|
+
else:
|
433
|
+
for field in model_fields:
|
434
|
+
if field not in fields and field not in self.exclude:
|
435
|
+
fields.append(field)
|
436
|
+
|
437
|
+
return fields
|
435
438
|
|
436
439
|
def has_add_permission(self) -> bool:
|
437
440
|
"""This method is used to check if user has permission to add new model instance.
|
fastadmin/models/orm/tortoise.py
CHANGED
@@ -247,7 +247,7 @@ class TortoiseModelAdmin(BaseModelAdmin):
|
|
247
247
|
widget_props = {
|
248
248
|
"required": field.get("required") or False,
|
249
249
|
"disabled": field_name in self.readonly_fields,
|
250
|
-
"
|
250
|
+
"readOnly": field_name in self.readonly_fields,
|
251
251
|
}
|
252
252
|
match field.get("orm_class_name"):
|
253
253
|
case "CharField":
|
@@ -92,6 +92,7 @@ class ModelSchema(BaseModel):
|
|
92
92
|
actions_on_bottom: bool | None
|
93
93
|
actions_selection_counter: bool | None
|
94
94
|
fields: Sequence[ModelFieldSchema]
|
95
|
+
fieldsets: Sequence[tuple[str | None, dict[str, Sequence[str]]]] | None
|
95
96
|
list_per_page: int | None
|
96
97
|
save_on_top: bool | None
|
97
98
|
save_as: bool | None
|