Add natural key handling to Index model

This commit is contained in:
Roberto Rosario
2012-09-27 01:51:44 -04:00
parent 9b70f6c11c
commit b4b7d610f9
2 changed files with 14 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
from __future__ import absolute_import
from django.db import models
class IndexManager(models.Manager):
def get_by_natural_key(self, name):
return self.get(name=name)

View File

@@ -8,6 +8,7 @@ from mptt.fields import TreeForeignKey
from documents.models import Document, DocumentType
from .managers import IndexManager
#from .conf.settings import AVAILABLE_INDEXING_FUNCTIONS
#available_indexing_functions_string = (_(u'Available functions: %s') % u','.join([u'%s()' % name for name, function in AVAILABLE_INDEXING_FUNCTIONS.items()])) if AVAILABLE_INDEXING_FUNCTIONS else u''
@@ -21,6 +22,8 @@ class Index(models.Model):
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'), help_text=_(u'Causes this index to be visible and updated when document data changes.'))
document_types = models.ManyToManyField(DocumentType, verbose_name=_(u'document types'))
objects = IndexManager()
@property
def template_root(self):
return self.indextemplatenode_set.get(parent=None)
@@ -46,6 +49,9 @@ class Index(models.Model):
super(Index, self).save(*args, **kwargs)
index_template_node_root, created = IndexTemplateNode.objects.get_or_create(parent=None, index=self)
def natural_key(self):
return (self.name)
class Meta:
verbose_name = _(u'index')
verbose_name_plural = _(u'indexes')