Metadata-Version: 2.1
Name: django-admin-item-owner
Version: 0.2.0
Summary: Model item always has an owner, and login user can only see owned items.
Home-page: UNKNOWN
Author: zencore
Author-email: dobetter@zencore.cn
License: MIT
Description: # django-admin-item-owner
        
        Model item always has an owner, and login user can only see owned items.
        
        ## Goal
        
        - Set item's owner to current user automatically.
        
        ## Install
        
        ```bash
        pip install django-admin-item-owner
        ```
        
        ## Settings
        
        ```python
        
        INSTALLED_APPS = [
            ....
            'django_global_request',
            'item_owner',
            ...
        ]
        
        MIDDLEWARE = [
            ...
            'django_global_request.middleware.GlobalRequestMiddleware',
            ...
        ]
        ```
        
        ## Example
        
        example/models.py
        
        ```python
        from django.db import models
        from item_owner.models import ItemOwnerMixin
        from item_owner.models import ItemShareMixin
        
        class Category(ItemOwnerMixin, models.Model):
            title = models.CharField(max_length=32)
        
            def __str__(self):
                return self.title
        
        class Book(ItemOwnerMixin, ItemShareMixin, models.Model):
            category = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True, blank=True, related_name="books")
            title = models.CharField(max_length=32)
        
            def __str__(self):
                return self.title
        
        ```
        
        example/admin.py
        
        
        ```python
        from django.contrib import admin
        from django import forms
        from item_owner.admin import ItemOwnerMixin
        from item_owner.admin import ItemShareMixin
        from .models import Category
        from .models import Book
        
        
        
        class BookInline(ItemOwnerMixin, ItemShareMixin, admin.TabularInline):
            model = Book
        
        class CategoryAdmin(ItemOwnerMixin, admin.ModelAdmin):
            list_display = ["title"]
            inlines = [
                BookInline,
            ]
        
        class BookAdmin(ItemOwnerMixin, ItemShareMixin, admin.ModelAdmin):
            list_display = ["title"]
        
        admin.site.register(Category, CategoryAdmin)
        admin.site.register(Book, BookAdmin)
        
        ```
        
        ## Releases
        
        ### v0.2.0 2020-01-08
        
        - Add ItemShareMixin for models and admins.
        
        ### v0.1.0 2019-12-01
        
        - First release.
        
Keywords: django-admin-item-owner
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
Requires: django
Requires: django_middleware_global_request
Description-Content-Type: text/markdown
