Metadata-Version: 2.1
Name: django-msms-admin
Version: 0.1.1
Summary: Intelligent management for multiple subclass models in django's admin site.
Home-page: UNKNOWN
Author: zencore
Author-email: dobetter@zencore.cn
License: MIT
Description: # pip install django-msms-admin
        
        Intelligent management for multiple subclass models in django's admin site.
        
        ## Install
        
        ```shell
        pip install django-msms-admin
        ```
        
        ## Installed Classes
        
        - DjangoMsmsModelAbstractBase
        
            The base model must inherit from DjangoMsmsModelAbstractBase class. It provides app_label, model_name, type_name fields and auto save the values.
        
        - DjangoMsmsAdmin
        
            The base model admin must inherit from DjangoMsmsAdmin class.
        
        - DjangoSubclassAdmin
        
            All subclass models' admin must inherit from DjangoSubclassAdmin class.
        
        ## Configurations
        
        - DjangoMsmsAdmin.subclasses
        
            The config item is used to provide choices in **select_subclass_model_view**. If NOT provide, the system will auto find all registered subclasses. The structure of subclasses is a three-level-tree. e.g.
        
            ```python
            subclasses = [{
                "title": "category1",
                "children": [{
                    "title": "category11",
                    "children: [
                        Model1,
                        Model2,
                        Model3,
                    ]
                },{
                    "title": "category12",
                    "children": [
                        Model4,
                        Model5,
                        Model6,
                    ]
                }]
            },{
                "title": "category2",
                "children": [{
                    "title": "category21",
                    "children": [
                        Model7,
                        Model8,
                    ]
                },{
                    "title": "category22,
                    "children": [
                        Model9,
                    ]
                }]
            }]
            ```
        
        - DjangoMsmsModelAbstractBase.cascade_select_description
        - DjangoMsmsModelAbstractBase.cascade_select_image
        
            Config item cascade_select_description and cascade_select_image are use to display more information while you selected a subclass. cascade_select_image is url string of an image.
        
        
        ## Usage
        
        **pro/settings.py**
        
        ```python
        INSTALLED_APPS = [
            ...
            'django_simple_tags',
            'django_static_jquery3',
            'django_msms_admin',
            ...
        ]
        ```
        
        **app/model.py**
        
        ```python
        from django.db import models
        from django.contrib.staticfiles.templatetags.staticfiles import static
        from django_msms_admin.models import DjangoMsmsModelAbstractBase
        
        class Book(DjangoMsmsModelAbstractBase, models.Model):
            title = models.CharField(max_length=64)
            author = models.CharField(max_length=64)
        
            def __str__(self):
                return self.title
        
        class ComputerBook(Book):
            serial = models.CharField(max_length=64)
        
            cascade_select_description = "These books are all about computers."
            cascade_select_image = static("app/img/computer-book.jpg")
        
        class NovelBook(Book):
            country = models.CharField(max_length=64)
        
        ```
        
        **app/admin.py**
        
        ```python
        from django.contrib import admin
        from django_msms_admin.admin import DjangoMsmsAdmin
        from django_msms_admin.admin import DjangoSubclassAdmin
        
        from .models import Book
        from .models import ComputerBook
        from .models import NovelBook
        
        class BookAdmin(DjangoMsmsAdmin, admin.ModelAdmin):
        
            list_display = ["title", "author", "type_name"]
            list_filter = ["type_name"]
        
        
        admin.site.register(Book, BookAdmin)
        admin.site.register(ComputerBook, DjangoSubclassAdmin)
        admin.site.register(NovelBook, DjangoSubclassAdmin)
        ```
        
        ## Release
        
        ### v0.1.1 2020/03/05
        
        - Add DjangoMsmsModelAbstractBase.get_real_object method.
        
        ### v0.1.0 2020/03/03
        
        - First release.
        
Keywords: django admin extentions,django fullname localization
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Description-Content-Type: text/markdown
