Skip to content

A reusable django application to create a proxy object for your models. Intended to aggregate various content types into a model for reuse. A poor man's django-tumbleweed.

License

Notifications You must be signed in to change notification settings

montylounge/django-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

A reusable Django application to create a proxy object for your models.
Intended to aggregate various content types into a model for reuse.

Current implementation example:

    from django.db import models
    from django.db.models import signals
    from django_proxy.signals import proxy_save, proxy_delete
    ...

    class Post(models.Model):
        STATUS_CHOICES = (
            (1, _('Draft')),
            (2, _('Public')),
        )

        title = models.CharField(max_length=150)
        body = models.TextField()
        tag_data = TagField()
        status = models.IntegerField(_('status'), choices=STATUS_CHOICES, 
                                    default=2)

        class ProxyMeta:
            title = 'title'
            description = 'body'
            tags = 'tag_data'
            active = {'status':2}


    signals.post_save.connect(proxy_save, Post, True)
    signals.post_delete.connect(proxy_delete, Post)

Dependencies

Nothing external. No contrib apps. Just Django proper.

TODO

  • Decouple further via signals possibly, removing ProxyMeta from the design

Examples

To see this project in use, take a peek at Django-Mingus and how combined with django-basic-apps it leverages the solution.

About

A reusable django application to create a proxy object for your models. Intended to aggregate various content types into a model for reuse. A poor man's django-tumbleweed.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages