From: Colin Powell Date: Fri, 1 Apr 2011 22:10:25 +0000 (-0400) Subject: First iteration of actual project files. X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=821e5cb6e22e52d430ccb762f5ed33b10d052fdd;p=django-notes.git First iteration of actual project files. --- diff --git a/notes/admin.py b/notes/admin.py new file mode 100644 index 0000000..1c197ad --- /dev/null +++ b/notes/admin.py @@ -0,0 +1,5 @@ +from notes.models import Note +from django.contrib.contenttypes import generic + +class NoteInline(generic.GenericTabularInline): + model = Note diff --git a/notes/managers.py b/notes/managers.py new file mode 100644 index 0000000..86c9075 --- /dev/null +++ b/notes/managers.py @@ -0,0 +1,5 @@ +from django.db.models import Manager + +class PublicManager(Manager): + def get_query_set(self): + return super(PublicManager, self).get_query_set().filter(public=True) diff --git a/notes/models.py b/notes/models.py new file mode 100644 index 0000000..35ed321 --- /dev/null +++ b/notes/models.py @@ -0,0 +1,40 @@ +from datetime import * +from django.db import models +from django.contrib.contenttypes.models import ContentType +from django.contrib.contenttypes import generic +from django.contrib.auth.models import User +from myutils.models import MarkupMixin +from django_extensions.db.models import TitleSlugDescriptionModel, TimeStampedModel + +from notes.managers import PublicManager + +class Topic(TitleSlugDescriptionModel, TimeStampedModel): + """ + Topic model class. + """ + +class Note(MarkupMixin, TimeStampedModel): + """ + Note model class. + + A simple model to handle adding arbitrary numbers of notes to an animal profile. + """ + topic=models.models.ForeignKey(Topic) + date=models.DateField(_('Date'), auto_now=True) + content=models.TextField(_('Content')) + rendered_content=models.TextField(_('Rendered content'), blank=True, null=True) + public=models.BooleanField(_('Public'), default=True) + author=models.ForeignKey(User) + content_type = models.ForeignKey(ContentType) + object_id = models.PositiveIntegerField() + content_object = generic.GenericForeignKey("content_type", "object_id") + + public_objects = PublicManager() + + class Meta: + verbose_name=_('Note') + verbose_name_plural=_('Notes') + + class MarkupOptions: + rendered_field = 'rendered_content' + source_field = 'content'