Skip to main content

A django abstract model and form for handling extra content in a model.

Project description

Keywords:django, database

A django abstract model and form for handling extra content in a model.

Let’s say we have a model MyData which can point to different underlying data types:

from django.db import models
from extracontent.models import ExtraContent
from extracontent.forms import ExtraContentForm

class DataModel1(models.Model):
    value = models.TextField()

class DataModel2(models.Model):
    dt = models.DateField()

class MyData(ExtraContent):
    name = models.CharField(max_length = 20)

class MyDataForm(ExtraContentForm):
    class Meta:
        model = MyData

Then we can do this:

>>> from extracontent import content
>>> elem = MyDataForm({'content_type':content('datamodel1'),
... 'value':'this is a test', name:'a data object'}).save()
>>> elem.extra_content()
<DataModel1: DataModel1 object>
>>> elem.extra_content().value
'this is a test'

Running Tests

Once installed:

>>>from extracontent.tests import run

or from within the tests directory:


Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-extracontent-0.1.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None (9.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page