mirror of
https://github.com/jazzband/django-categories.git
synced 2026-03-16 22:30:24 +00:00
Added an alternate url field to the model.
This commit is contained in:
parent
7e83b12a41
commit
cedd54e85d
2 changed files with 51 additions and 2 deletions
|
|
@ -0,0 +1,44 @@
|
|||
# encoding: utf-8
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
|
||||
# Adding field 'Category.alternate_url'
|
||||
db.add_column('categories_category', 'alternate_url', self.gf('django.db.models.fields.URLField')(default='', max_length=200, blank=True), keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
|
||||
# Deleting field 'Category.alternate_url'
|
||||
db.delete_column('categories_category', 'alternate_url')
|
||||
|
||||
|
||||
models = {
|
||||
'categories.category': {
|
||||
'Meta': {'ordering': "('tree_id', 'lft')", 'unique_together': "(('parent', 'name'),)", 'object_name': 'Category'},
|
||||
'alternate_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
|
||||
'alternate_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'meta_extra': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
|
||||
'meta_keywords': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['categories.Category']"}),
|
||||
'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||
'thumbnail': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
|
||||
'thumbnail_height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'thumbnail_width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['categories']
|
||||
|
|
@ -34,8 +34,11 @@ class Category(MPTTModel):
|
|||
blank=True,
|
||||
default="",
|
||||
max_length=100,
|
||||
help_text="An alternative title to use on pages with this category."
|
||||
)
|
||||
help_text="An alternative title to use on pages with this category.")
|
||||
alternate_url = models.URLField(
|
||||
blank=True,
|
||||
verify_exists=False,
|
||||
help_text="An alternative URL to use instead of the one derived from the category hierarchy.")
|
||||
description = models.TextField(blank=True, null=True)
|
||||
meta_keywords = models.CharField(
|
||||
blank=True,
|
||||
|
|
@ -53,6 +56,8 @@ class Category(MPTTModel):
|
|||
|
||||
def get_absolute_url(self):
|
||||
"""Return a path"""
|
||||
if self.alternate_url:
|
||||
return self.alternate_url
|
||||
prefix = reverse('categories_tree_list')
|
||||
ancestors = list(self.get_ancestors()) + [self,]
|
||||
return prefix + '/'.join([force_unicode(i.slug) for i in ancestors]) + '/'
|
||||
|
|
|
|||
Loading…
Reference in a new issue