Added new models and model admins to Python3 sample project.
parent
3a3392a7a1
commit
588fc7a4cd
|
|
@ -1,10 +1,11 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from adminsortable.admin import (SortableAdmin, SortableTabularInline,
|
from adminsortable.admin import (SortableAdmin, SortableTabularInline,
|
||||||
SortableStackedInline, SortableGenericStackedInline)
|
SortableStackedInline, SortableGenericStackedInline,
|
||||||
|
NonSortableParentAdmin)
|
||||||
from adminsortable.utils import get_is_sortable
|
from adminsortable.utils import get_is_sortable
|
||||||
from app.models import (Category, Widget, Project, Credit, Note, GenericNote,
|
from app.models import (Category, Widget, Project, Credit, Note, GenericNote,
|
||||||
Component, Person)
|
Component, Person, NonSortableCategory, SortableCategoryWidget)
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Category, SortableAdmin)
|
admin.site.register(Category, SortableAdmin)
|
||||||
|
|
@ -65,3 +66,14 @@ class PersonAdmin(SortableAdmin):
|
||||||
list_display = ['__str__', 'is_board_member']
|
list_display = ['__str__', 'is_board_member']
|
||||||
|
|
||||||
admin.site.register(Person, PersonAdmin)
|
admin.site.register(Person, PersonAdmin)
|
||||||
|
|
||||||
|
|
||||||
|
class SortableCategoryWidgetInline(SortableStackedInline):
|
||||||
|
model = SortableCategoryWidget
|
||||||
|
extra = 0
|
||||||
|
|
||||||
|
|
||||||
|
class NonSortableCategoryAdmin(NonSortableParentAdmin):
|
||||||
|
inlines = [SortableCategoryWidgetInline]
|
||||||
|
|
||||||
|
admin.site.register(NonSortableCategory, NonSortableCategoryAdmin)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import models, migrations
|
||||||
|
import adminsortable.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('app', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='NonSortableCategory',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)),
|
||||||
|
('title', models.CharField(max_length=50)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Non-Sortable Category',
|
||||||
|
'verbose_name_plural': 'Non-Sortable Categories',
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=(models.Model,),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='SortableCategoryWidget',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)),
|
||||||
|
('order', models.PositiveIntegerField(db_index=True, editable=False, default=1)),
|
||||||
|
('title', models.CharField(max_length=50)),
|
||||||
|
('non_sortable_category', adminsortable.fields.SortableForeignKey(to='app.NonSortableCategory')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'ordering': ['order'],
|
||||||
|
'verbose_name': 'Sortable Category Widget',
|
||||||
|
'abstract': False,
|
||||||
|
'verbose_name_plural': 'Sortable Category Widgets',
|
||||||
|
},
|
||||||
|
bases=(models.Model,),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -119,3 +119,23 @@ class Person(Sortable):
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '{0} {1}'.format(self.first_name, self.last_name)
|
return '{0} {1}'.format(self.first_name, self.last_name)
|
||||||
|
|
||||||
|
|
||||||
|
class NonSortableCategory(SimpleModel):
|
||||||
|
class Meta(SimpleModel.Meta):
|
||||||
|
verbose_name = 'Non-Sortable Category'
|
||||||
|
verbose_name_plural = 'Non-Sortable Categories'
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.title
|
||||||
|
|
||||||
|
|
||||||
|
class SortableCategoryWidget(SimpleModel, Sortable):
|
||||||
|
class Meta(Sortable.Meta):
|
||||||
|
verbose_name = 'Sortable Category Widget'
|
||||||
|
verbose_name_plural = 'Sortable Category Widgets'
|
||||||
|
|
||||||
|
non_sortable_category = SortableForeignKey(NonSortableCategory)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.title
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue