From a48cf00396a7b01ccbdc962a884d7e3377cc9397 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Mon, 3 Nov 2014 10:45:50 -0500 Subject: [PATCH] Added migrations, fixed queryset call and fixed meta inheritance for self-referential sample model. --- python3_sample_project/app/admin.py | 6 +++- .../0003_selfreferentialcategory.py | 28 +++++++++++++++++++ .../app/migrations/0004_auto_20141029_1612.py | 24 ++++++++++++++++ python3_sample_project/app/models.py | 11 ++++++++ 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 python3_sample_project/app/migrations/0003_selfreferentialcategory.py create mode 100644 python3_sample_project/app/migrations/0004_auto_20141029_1612.py diff --git a/python3_sample_project/app/admin.py b/python3_sample_project/app/admin.py index f60797d..737eba6 100644 --- a/python3_sample_project/app/admin.py +++ b/python3_sample_project/app/admin.py @@ -5,7 +5,8 @@ from adminsortable.admin import (SortableAdmin, SortableTabularInline, NonSortableParentAdmin) from adminsortable.utils import get_is_sortable from app.models import (Category, Widget, Project, Credit, Note, GenericNote, - Component, Person, NonSortableCategory, SortableCategoryWidget) + Component, Person, NonSortableCategory, SortableCategoryWidget, + SelfReferentialCategory) admin.site.register(Category, SortableAdmin) @@ -77,3 +78,6 @@ class NonSortableCategoryAdmin(NonSortableParentAdmin): inlines = [SortableCategoryWidgetInline] admin.site.register(NonSortableCategory, NonSortableCategoryAdmin) + + +admin.site.register(SelfReferentialCategory, SortableAdmin) diff --git a/python3_sample_project/app/migrations/0003_selfreferentialcategory.py b/python3_sample_project/app/migrations/0003_selfreferentialcategory.py new file mode 100644 index 0000000..bd9a878 --- /dev/null +++ b/python3_sample_project/app/migrations/0003_selfreferentialcategory.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import adminsortable.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('app', '0002_nonsortablecategory_sortablecategorywidget'), + ] + + operations = [ + migrations.CreateModel( + name='SelfReferentialCategory', + fields=[ + ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), + ('order', models.PositiveIntegerField(db_index=True, editable=False, default=1)), + ('title', models.CharField(max_length=50)), + ('child', adminsortable.fields.SortableForeignKey(to='app.SelfReferentialCategory')), + ], + options={ + 'abstract': False, + }, + bases=(models.Model,), + ), + ] diff --git a/python3_sample_project/app/migrations/0004_auto_20141029_1612.py b/python3_sample_project/app/migrations/0004_auto_20141029_1612.py new file mode 100644 index 0000000..1f7e76f --- /dev/null +++ b/python3_sample_project/app/migrations/0004_auto_20141029_1612.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import adminsortable.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('app', '0003_selfreferentialcategory'), + ] + + operations = [ + migrations.AlterModelOptions( + name='selfreferentialcategory', + options={'verbose_name_plural': 'Sortable Referential Categories', 'verbose_name': 'Sortable Referential Category'}, + ), + migrations.AlterField( + model_name='selfreferentialcategory', + name='child', + field=adminsortable.fields.SortableForeignKey(to='app.SelfReferentialCategory', null=True, blank=True), + ), + ] diff --git a/python3_sample_project/app/models.py b/python3_sample_project/app/models.py index a0b72bc..ad0b902 100644 --- a/python3_sample_project/app/models.py +++ b/python3_sample_project/app/models.py @@ -139,3 +139,14 @@ class SortableCategoryWidget(SimpleModel, Sortable): def __str__(self): return self.title + + +class SelfReferentialCategory(SimpleModel, Sortable): + class Meta(Sortable.Meta): + verbose_name = 'Sortable Referential Category' + verbose_name_plural = 'Sortable Referential Categories' + + child = SortableForeignKey('self', blank=True, null=True) + + def __str__(self): + return self.title