@@ -53,8 +53,10 @@ def __new__(cls, *args, **kwargs):
5353
5454class Core (metaclass = CoreBase ):
5555 """
56- Parent of all IS cores. Contains common methods for all cores.
57- This class is abstract.
56+ Base class for all IS cores. Contains common methods for all cores.
57+
58+ Provides URL pattern generation, permission handling, and menu group management.
59+ Use this as a base for custom core implementations that don't work with models.
5860 """
5961
6062 abstract = True
@@ -130,6 +132,12 @@ def get_verbose_name_plural(self):
130132
131133
132134class ModelCore (GetMethodFieldMixin , Core ):
135+ """
136+ Base class for cores that work with models. Provides field management and queryset handling.
137+
138+ Defines methods for field configuration, ordering, and basic CRUD permissions.
139+ Use this as a base for custom model-based cores that need field management without UI or REST.
140+ """
133141
134142 abstract = True
135143
@@ -172,8 +180,10 @@ def get_default_action(self, request, obj):
172180
173181class DjangoCore (ModelCore ):
174182 """
175- Parent of REST and UI cores that works as controller to specific model.
176- This class is abstract.
183+ Django model controller that provides form handling and model lifecycle methods.
184+
185+ Handles form class selection, model saving/deleting operations, and verbose name management.
186+ Use this as a base for cores that need Django model integration with form handling.
177187 """
178188
179189 abstract = True
@@ -237,7 +247,12 @@ def get_queryset(self, request):
237247
238248
239249class UiCore (Core ):
240- """Main core for UI views."""
250+ """
251+ Core for UI views. Provides HTML template rendering views and menu integration.
252+
253+ Handles view class registration, menu item generation, and URL pattern management for UI views.
254+ Use this when you need only template rendering views without REST functionality.
255+ """
241256
242257 abstract = True
243258
@@ -300,7 +315,12 @@ def menu_url(self, request):
300315
301316
302317class RestCore (Core ):
303- """Main core for REST views."""
318+ """
319+ Core for REST views. Provides REST resources without HTML template rendering.
320+
321+ Handles REST resource registration, API URL generation, and REST pattern management.
322+ Use this when you need only REST API functionality without UI views.
323+ """
304324
305325 rest_classes = ()
306326 default_rest_pattern_class = RestPattern
@@ -363,12 +383,23 @@ def get_urls(self):
363383
364384
365385class UiRestCore (UiRestCoreMixin , UiCore , RestCore ):
366- """UI REST Core, its main purpose is create custom REST resources and UI views."""
386+ """
387+ Combined UI and REST core. Provides both HTML template rendering and REST resources.
388+
389+ Combines UiCore and RestCore functionality for applications that need both UI and REST endpoints.
390+ Use this when you need both UI views and REST API for custom functionality.
391+ """
367392
368393 abstract = True
369394
370395
371396class HomeUiCore (UiCore ):
397+ """
398+ Special core for home page functionality. Provides the main landing page view.
399+
400+ Creates the home/index view with custom URL routing. Automatically registered
401+ unless overridden by settings. Provides the root URL ('/') navigation.
402+ """
372403
373404 menu_url_name = 'index'
374405 verbose_name_plural = _ ('Home' )
@@ -388,6 +419,12 @@ def get_url_prefix(self):
388419
389420
390421class ModelUiCore (ModelCore , UiCore ):
422+ """
423+ Model UI core base class. Combines model handling with UI view functionality.
424+
425+ Provides model-based UI views with fieldsets, inline views, and export capabilities.
426+ Base class for cores that need both model management and UI views.
427+ """
391428
392429 abstract = True
393430
@@ -486,7 +523,12 @@ def _obj_name(self, obj):
486523
487524
488525class DjangoUiCore (DjangoCore , ModelUiCore ):
489- """Main core controller for specific model that provides UI views for model management (add, edit, list)."""
526+ """
527+ Django model UI core. Provides default UI views (add, list, detail) for Django models.
528+
529+ Creates add, edit, and list views for Django models with form handling and template rendering.
530+ Use this when you need only UI views for Django model management without REST API.
531+ """
490532
491533 abstract = True
492534
@@ -497,8 +539,10 @@ class DjangoUiCore(DjangoCore, ModelUiCore):
497539
498540class ModelRestCore (RestCore , ModelCore ):
499541 """
500- Main core controller for specific model that provides REST resources for model management.
501- CRUD (POST, GET, PUT, DELETE).
542+ Model REST core. Provides REST resources for Django models without UI views.
543+
544+ Creates REST endpoints for model CRUD operations with filtering, pagination, and field management.
545+ Use this when you need only REST API for Django model management without UI views.
502546 """
503547
504548 abstract = True
@@ -641,7 +685,11 @@ def _default_action(self, obj, request):
641685class DjangoRestCore (ModelRestCore , DjangoCore ):
642686 """
643687 Main core controller for specific model that provides REST resources for model management.
644- CRUD (POST, GET, PUT, DELETE).
688+
689+ Creates REST endpoints with full CRUD operations (POST, GET, PUT, DELETE), filtering, pagination,
690+ and field management for Django models. Integrates with Django model metadata for automatic
691+ field configuration.
692+ Use this when you need only REST API for Django model management without UI views.
645693 """
646694
647695 abstract = True
@@ -693,6 +741,12 @@ def get_rest_order_fields(self, request):
693741
694742
695743class ModelUiRestCore (UiRestCoreMixin , ModelRestCore , ModelUiCore ):
744+ """
745+ Model UI REST core base class. Combines model handling with both UI and REST functionality.
746+
747+ Provides model-based UI views and REST resources with integrated web links and actions.
748+ Base class for cores that need model management through both UI and REST interfaces.
749+ """
696750
697751 abstract = True
698752
@@ -749,8 +803,13 @@ def _class_names(self, obj, request):
749803
750804class DjangoUiRestCore (DjangoRestCore , DjangoUiCore , ModelUiRestCore ):
751805 """
752- Combination of UI views and REST resources. UI views uses REST resources for printing model data, filtering,
753- paging and so on.
806+ The main and recommended core for Django model management. Provides complete interface with both UI views
807+ and REST resources.
808+
809+ This is the default choice for most Django models. Creates a complete model management interface
810+ with UI views (add, edit, list) and REST API endpoints. UI views use REST resources for data
811+ operations, filtering, and pagination. Includes bulk operations and export functionality.
812+ Use this for standard Django model management - it provides everything you need out of the box.
754813 """
755814
756815 abstract = True
0 commit comments