From daadd190cb624f09cff0af459dcf149d1c36f596 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Sat, 8 Nov 2014 08:49:07 -0500 Subject: [PATCH] Added sortable non-online category example. --- python3_sample_project/app/admin.py | 3 ++- python3_sample_project/app/models.py | 15 +++++++++++++++ .../database/python3-test-project.sqlite3 | Bin 81920 -> 84992 bytes sample_project/app/models.py | 9 +++++++++ sample_project/database/test_project.sqlite | Bin 92160 -> 94208 bytes 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/python3_sample_project/app/admin.py b/python3_sample_project/app/admin.py index 737eba6..580bf5a 100644 --- a/python3_sample_project/app/admin.py +++ b/python3_sample_project/app/admin.py @@ -6,7 +6,7 @@ from adminsortable.admin import (SortableAdmin, SortableTabularInline, from adminsortable.utils import get_is_sortable from app.models import (Category, Widget, Project, Credit, Note, GenericNote, Component, Person, NonSortableCategory, SortableCategoryWidget, - SelfReferentialCategory) + SortableNonInlineCategory, SelfReferentialCategory) admin.site.register(Category, SortableAdmin) @@ -79,5 +79,6 @@ class NonSortableCategoryAdmin(NonSortableParentAdmin): admin.site.register(NonSortableCategory, NonSortableCategoryAdmin) +admin.site.register(SortableNonInlineCategory, SortableAdmin) admin.site.register(SelfReferentialCategory, SortableAdmin) diff --git a/python3_sample_project/app/models.py b/python3_sample_project/app/models.py index 72c1874..34127b1 100644 --- a/python3_sample_project/app/models.py +++ b/python3_sample_project/app/models.py @@ -141,6 +141,21 @@ class SortableCategoryWidget(SimpleModel, Sortable): return self.title +class SortableNonInlineCategory(SimpleModel, Sortable): + """Example of a model that is sortable, but has a SortableForeignKey + that is *not* sortable, and is also not defined as an inline of the + SortableForeignKey field.""" + + class Meta(Sortable.Meta): + verbose_name = 'Sortable Non-Inline Category' + verbose_name_plural = 'Sortable Non-Inline Categories' + + non_sortable_category = SortableForeignKey(NonSortableCategory) + + def __str__(self): + return self.title + + class SelfReferentialCategory(SimpleModel, Sortable): class Meta(Sortable.Meta): verbose_name = 'Sortable Referential Category' diff --git a/python3_sample_project/database/python3-test-project.sqlite3 b/python3_sample_project/database/python3-test-project.sqlite3 index 550f9187d00b7f971b4fc5c6c8b61d9ac97b8349..95395d04c852e96d28a1deee9d199e66e388e701 100644 GIT binary patch delta 2781 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 delta 584 zcmZWnUuaTM7(d_n&hdH|DGmcKDP2(qhSt^6Z@GQ>K)3l7w$Q$UwJMx6C zl3lum5!{9ljKf_h(naB82^PgH$b14!QOO?^?R;1+RUj@_voX<~ipj|;#N=`n!s78% zTrB5fB9fbskut=@$DE=oif$`f9+*?EMdf;t4>4!P+9SrYap8S$%AaKzVuX;W+GmP; zxwr&nczT{CFaQCe-As!?)~*NUcP9Lgh=v}(b@bpTyp1KC#AMyacB$|*P0&Q8X+)0b zH0W{>$N;!5IyY+O8E4M9UYap;)tX~kisj;P(-_LAiT%;>|8;4ds!k-dG-iZDpky}a zc;U+IwX4p*fhj$RBHJ{Kluifmn<}`$aRa;f1v~f|Kj2$c@HxuPW#CcD5kS*==yLUt z@g8#4Lqt>?S^Y<=RUFhWl?p|tW}c#6