django-proxy icon indicating copy to clipboard operation
django-proxy copied to clipboard

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.

h1. 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)

h2. Dependencies

Nothing external. No contrib apps. Just Django proper.

h2. TODO

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

h3. Examples

To see this project in use, take a peek at "Django-Mingus":http://github.com/montylounge/django-mingus and how combined with django-basic-apps it leverages the solution.