Added status docs.

master
Brandon Taylor 2014-08-21 00:26:25 -04:00
parent 20829d106a
commit 7485dc0289
14 changed files with 420 additions and 1 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,11 @@
Rationale
=========
Why another drag-and-drop ordering plugin?
------------------------------------------
Other projects have added drag-and-drop ordering to the ChangeList view, however this introduces a couple of problems...
- The ChangeList view supports pagination, which makes drag-and-drop ordering across pages impossible.
- The ChangeList view by default, does not order records based on a foreign key, nor distinguish between rows that are associated with a foreign key. This makes ordering the records grouped by a foreign key impossible.
- The ChangeList supports in-line editing, and adding drag-and-drop ordering on top of that just seemed a little much in my opinion.

View File

@ -0,0 +1,4 @@
Status
======
django-admin-sortable is stable and currently used in production.

View File

@ -71,6 +71,11 @@
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="rationale.html">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rationale.html#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="status.html">Status</a></li>
</ul>

View File

@ -71,6 +71,11 @@
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="rationale.html">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rationale.html#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="status.html">Status</a></li>
</ul>
@ -149,6 +154,11 @@
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="rationale.html">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rationale.html#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="status.html">Status</a></li>
</ul>
</div>
</div>

188
docs/_build/html/rationale.html vendored 100644
View File

@ -0,0 +1,188 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rationale &mdash; Django Admin Sortable 1.7.0 documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="top" title="Django Admin Sortable 1.7.0 documentation" href="index.html"/>
<link rel="prev" title="Testing" href="testing.html"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="index.html" class="fa fa-home"> Django Admin Sortable</a>
<div role="search">
<form id ="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuring Django Admin Sortable</a><ul>
<li class="toctree-l2"><a class="reference internal" href="configuration.html#static-media">Static Media</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="usage.html">Using Django Admin Sortable</a><ul>
<li class="toctree-l2"><a class="reference internal" href="usage.html#models">Models</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Django Admin Sortable</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Rationale</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/rationale.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document">
<div class="section" id="rationale">
<h1>Rationale<a class="headerlink" href="#rationale" title="Permalink to this headline"></a></h1>
<div class="section" id="why-another-drag-and-drop-ordering-plugin">
<h2>Why another drag-and-drop ordering plugin?<a class="headerlink" href="#why-another-drag-and-drop-ordering-plugin" title="Permalink to this headline"></a></h2>
<p>Other projects have added drag-and-drop ordering to the ChangeList view, however this introduces a couple of problems...</p>
<ul class="simple">
<li>The ChangeList view supports pagination, which makes drag-and-drop ordering across pages impossible.</li>
<li>The ChangeList view by default, does not order records based on a foreign key, nor distinguish between rows that are associated with a foreign key. This makes ordering the records grouped by a foreign key impossible.</li>
<li>The ChangeList supports in-line editing, and adding drag-and-drop ordering on top of that just seemed a little much in my opinion.</li>
</ul>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="testing.html" class="btn btn-neutral" title="Testing"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2014, Brandon Taylor.
</p>
</div>
<a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'1.7.0',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>

View File

@ -70,6 +70,11 @@
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="rationale.html">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rationale.html#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="status.html">Status</a></li>
</ul>

View File

@ -1 +1 @@
Search.setIndex({envversion:42,terms:{serv:6,all:5,code:5,just:4,anticip:5,text:[5,4],over:5,becaus:2,plugin_bas:4,veri:5,own:4,through:0,file:[3,6],follow:5,entequak:0,dynam:5,previous:5,whose:2,onli:4,componentinlin:5,group:[5,0],thank:0,easi:[0,4],cmscarouselplugin:4,"true":5,cmspluginbas:4,should:1,script:4,add:[5,0,6,1],html:[5,4],title__icontain:5,board:5,onc:5,els:5,folder:6,save:5,adminsort:[5,4,1,6],app:[3,6],introduc:[5,0],plugin_pool:4,custom:3,them:5,within:4,hit:5,get:[6,1],python:[0,3],util:5,context_processor:[6,1],is_board_memb:5,csrf:4,"import":[5,4,1],increas:5,now:1,is_sort:5,tbd:[],requir:5,template_context_processor:[6,1],change_form_templ:4,enabl:[5,0],anyth:5,drop:[0,3,1],list:5,last_nam:5,staticfil:[4,6],item:0,sortableadmin:[5,1],alreadi:4,necessari:4,either:5,each:5,small:5,found:3,categori:5,where:[3,1],page:[0,4],two:5,view:[5,3,1],pleas:0,anoth:5,height:5,set:[5,1],fortun:4,person:5,individu:0,some:5,placehold:4,sortablegenerictabularinlin:5,ensur:[6,1],see:[5,3],meta:[5,1],sampl:5,pass:[5,1],slideinlin:4,click:3,special:5,compat:0,index:[5,0],myapp:5,wire:1,appear:5,defin:[5,1],mysortabletabularinlin:5,enumer:5,content:[],substitut:4,won:[5,4],unit:3,rel:[5,4],"new":[],foo:5,method:[5,6],verbose_name_plur:5,attribut:[5,0],altern:6,core:[6,1],javascript:[5,4,6],run:3,insid:6,migrat:5,resolv:4,gener:5,sortabletabularinlin:5,here:[5,1],standard:5,base:[5,0],symlink:6,dictionari:5,latest:0,depend:5,widgetadmin:5,"super":[5,0,4],valu:5,render_templ:4,src:4,search:0,wai:[5,0,2],change_form_template_extend:5,plugin:4,column:5,extrahead:4,current:2,manag:[0,3],filter:5,stackedinlin:5,includ:[5,3,6,4],context:4,fals:[5,4],charfield:[5,1],chang:[5,0,2,3,4],sortablestackedinlin:5,honor:5,south:5,load:4,schema:5,via:3,simpli:1,directli:3,extra:[5,1],instanti:5,appli:5,modul:0,independ:5,prefer:6,number:5,automat:[5,4],cmsplugin:4,ascend:5,change_form:5,href:4,orm:5,contrib:5,inhert:2,updat:[0,4],installed_app:[6,1],assum:5,your:[5,0,6,1],select:5,login:3,register_plugin:4,quit:6,from:[1,2,3,4,5,6],would:5,area:3,locat:6,data:5,regist:[5,1],due:5,why:5,compon:5,few:[5,6],stylesheet:4,max_length:[5,1],"__unicode__":[5,1],carousel:4,recommend:5,taken:3,inner:5,addit:5,instal:1,start:1,more:[5,1],"function":3,project:[5,3,1,6],properli:5,desir:1,option:[5,1],name:[5,4],tupl:[5,0],tool:[3,1],copi:6,about:5,specifi:[5,4],ani:[5,0,3,1],forward:5,link:[5,3,1,4],tabularstackedinlin:5,known:0,line:5,inlin:3,realli:4,present:[5,1],must:5,"case":5,also:[5,0],made:0,sometim:5,possibl:[5,2],"default":5,type:4,change_list:5,abl:5,displai:5,jqueri:4,record:3,below:[5,0],can:[5,3,1,6],caveat:5,foreignkei:5,site:[5,1],"static":1,tabularinlin:5,booleanfield:5,def:[5,4,1],sort:[],sai:3,quickstart:[],creat:5,look:[5,3],almost:0,credenti:3,changelist:1,sortablegenericstackedinlin:5,non:5,tabular:[5,4],need:[5,4,1],minimum:4,right:5,inherit:[5,1],have:[5,2,3,1],pip:1,mysortableadminclass:[5,1],work:[5,3,4],edit_inlin:5,plugin_change_form:4,parent:[5,2],incompat:[5,0],form:[5,2,3,4],first_nam:5,get_is_sort:5,suggest:5,self:[5,4,1],format:[5,0],when:[3,1],same:5,member:5,field:5,make:5,instanc:4,take:1,which:5,peopl:5,test:[],instead:5,you:[5,0,3,1,6],properti:5,simpl:6,css:[5,4,6],difficult:5,mysortablestackedinlin:5,get_queryset:5,thi:[5,3,4],normal:5,sorting_filt:[5,0],positivesmallinteg:5,"class":[5,4,1],after:5,"return":[5,4,1],model:[3,1],director:5,befor:5,drag:[0,3,1],endblock:4,admin_preview:4,mai:[5,0,3],change_list_template_extend:5,stack:[5,4],mysortableclass:[5,1],exactli:5,appropri:5,don:5,equival:5,feasibl:4,directori:[3,6],thu:4,min:4,request:5,object:1,doe:2,issu:0,inform:5,sample_project:3,exampl:[5,4],allow:[5,4],block:4,determin:5,titl:[5,1],tall:5,note:5,backward:[5,0],render:4,order:[5,0,3,1],provid:5,left:5},objtypes:{},objnames:{},filenames:["index","quickstart","known-issues","testing","django-cms","usage","configuration"],titles:["Welcome to Django Admin Sortable&#8217;s documentation!","Quickstart","Known Issue(s)","Testing","Django-CMS Integration","Using Django Admin Sortable","Configuring Django Admin Sortable"],objects:{},titleterms:{overrid:5,subset:5,quickstart:1,queryset:5,indic:0,exist:5,tabl:0,what:0,welcom:0,media:6,support:0,configur:6,custom:5,content:0,version:0,test:3,"new":0,document:0,higher:[],sort:5,sortabl:[5,0,6],extend:5,object:5,templat:5,known:2,inlin:5,admin:[5,0,6],django:[5,0,4,6],issu:2,integr:[5,4],"static":6,model:5}})
Search.setIndex({envversion:42,terms:{all:7,code:7,plugin_bas:5,follow:7,row:6,whose:3,depend:7,cmspluginbas:5,positivesmallinteg:7,introduc:[7,1,6],rel:[7,5],fals:[7,5],util:7,context_processor:[8,2],veri:7,change_form_templ:5,list:7,last_nam:7,item:1,small:7,sortablestackedinlin:7,pleas:1,fortun:5,pass:[7,2],click:4,compat:1,index:[7,1],appear:7,mysortabletabularinlin:7,abl:7,change_list:7,"new":[],method:[7,8],gener:7,here:[7,2],valu:7,search:1,extrahead:5,stackedinlin:7,opinion:6,chang:[7,1,3,4,5],honor:7,via:4,extra:[7,2],appli:7,app:[4,8],prefer:8,href:5,instal:2,unit:4,register_plugin:5,from:[2,3,4,5,7,8],would:7,regist:[7,2],two:7,few:[7,8],stylesheet:5,recommend:7,taken:4,type:5,more:[7,2],sort:[],desir:2,peopl:7,get_queryset:7,site:[7,2],known:[],must:7,placehold:5,work:[7,4,5],can:[7,4,2,8],caveat:7,def:[7,5,2],quickstart:[],sortablegenericstackedinlin:7,tabular:[7,5],minimum:5,mysortablestackedinlin:7,edit_inlin:7,first_nam:7,anoth:7,cmscarouselplugin:5,instead:7,simpl:8,css:[7,5,8],updat:[1,5],product:0,plugin_change_form:5,befor:7,mai:[7,1,4],data:7,feasibl:5,credenti:4,issu:[],inform:7,allow:[7,5],tall:7,order:[7,4,2],anticip:7,over:7,becaus:3,through:1,dynam:7,group:[7,1,6],thank:1,them:7,"return":[7,5,2],python:[1,4],now:2,nor:6,name:[7,5],anyth:7,edit:6,drop:[4,2],each:7,found:4,inhert:3,individu:1,realli:5,contrib:7,meta:[7,2],"static":2,sortablegenerictabularinlin:7,special:7,categori:7,rational:[],after:7,insid:8,migrat:7,sortabletabularinlin:7,standard:7,base:[7,1,6],dictionari:7,render_templ:5,filter:7,pagin:6,charfield:[7,2],imposs:6,south:7,directli:4,onc:7,independ:7,number:7,cmsplugin:5,change_form:7,alreadi:5,stabl:0,installed_app:[8,2],script:5,associ:6,top:6,sometim:7,max_length:[7,2],carousel:5,schema:7,option:[7,2],tool:[4,2],copi:8,specifi:[7,5],entequak:1,exactli:7,serv:8,provid:7,get_is_sort:7,project:[7,8,4,2,6],sai:4,changelist:[2,6],ani:[7,1,4,2],have:[7,3,4,2,6],need:[7,5,2],seem:6,incompat:[7,1],equival:7,min:5,self:[7,5,2],note:7,also:[7,1],plugin_pool:5,which:[7,6],tupl:[7,1],normal:7,sorting_filt:[7,1],object:2,render:5,change_list_template_extend:7,why:7,don:7,request:7,doe:[3,6],sample_project:4,determin:7,left:7,text:[7,5],current:[0,3],onli:5,componentinlin:7,locat:8,should:2,title__icontain:7,folder:8,adminsort:[7,5,2,8],hit:7,get:[8,2],csrf:5,increas:7,is_sort:7,tbd:[],requir:7,enabl:[7,1],where:[4,2],view:[7,4,2,6],set:[7,2],see:[7,4],jqueri:5,statu:1,wire:2,parent:[7,3],enumer:7,won:[7,5],between:6,"import":[7,5,2],across:6,attribut:[7,1],altern:8,kei:6,javascript:[7,5,8],distinguish:6,"__unicode__":[7,2],addit:7,change_form_template_extend:7,plugin:5,howev:6,foreign:6,instanc:5,context:5,login:4,load:5,simpli:2,instanti:7,height:7,assum:7,quit:8,coupl:6,due:7,compon:7,much:6,present:[7,2],"case":7,look:[7,4],properti:7,defin:[7,2],endblock:5,almost:1,non:7,myapp:7,mysortableadminclass:[7,2],suggest:7,make:[7,6],same:7,member:7,html:[7,5],difficult:7,director:7,stack:[7,5],appropri:7,thu:5,inherit:[7,2],person:7,exampl:[7,5],thi:[7,4,6,5],admin_preview:5,model:[4,2],latest:1,just:[5,6],previous:7,foo:7,easi:[1,5],littl:6,add:[7,1,8,2],board:7,els:7,save:7,modul:1,take:2,format:[7,1],is_board_memb:7,template_context_processor:[8,2],resolv:5,staticfil:[5,8],necessari:5,either:7,page:[1,5,6],right:7,sortableadmin:[7,2],some:7,sampl:7,slideinlin:5,substitut:5,select:7,content:[],core:[8,2],run:4,widgetadmin:7,symlink:8,"super":[7,1,5],src:5,about:7,column:7,verbose_name_plur:7,includ:[7,4,8,5],block:5,own:5,within:5,automat:[7,5],orm:7,ensur:[8,2],your:[7,1,8,2],manag:[1,4],wai:[7,1,3],area:4,custom:4,start:2,inner:7,forward:7,tabularinlin:7,"function":4,properli:7,form:[7,3,4,5],ascend:7,link:[7,4,2,5],tabularstackedinlin:7,line:[7,6],inlin:4,"true":7,made:1,possibl:[7,3],"default":[7,6],displai:7,record:[4,6],below:[7,1],foreignkei:7,problem:6,booleanfield:7,creat:7,file:[4,8],pip:2,mysortableclass:[7,2],titl:[7,2],when:[4,2],field:7,other:6,test:[],you:[7,1,4,2,8],"class":[7,5,2],drag:[4,2],directori:[4,8],backward:[7,1]},objtypes:{},objnames:{},filenames:["status","index","quickstart","known-issues","testing","django-cms","rationale","usage","configuration"],titles:["Status","Welcome to Django Admin Sortable&#8217;s documentation!","Quickstart","Known Issue(s)","Testing","Django-CMS Integration","Rationale","Using Django Admin Sortable","Configuring Django Admin Sortable"],objects:{},titleterms:{overrid:7,subset:7,quickstart:2,queryset:7,indic:1,exist:7,tabl:1,what:1,welcom:1,media:8,support:1,configur:8,custom:7,content:1,version:1,rational:6,test:4,"new":1,document:1,higher:[],sort:7,sortabl:[7,1,8],extend:7,object:7,statu:0,drag:6,templat:7,known:3,inlin:7,why:6,plugin:6,admin:[7,1,8],drop:6,django:[7,1,5,8],issu:3,integr:[7,5],anoth:6,"static":8,model:7,order:6}})

181
docs/_build/html/status.html vendored 100644
View File

@ -0,0 +1,181 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Status &mdash; Django Admin Sortable 1.7.0 documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="top" title="Django Admin Sortable 1.7.0 documentation" href="index.html"/>
<link rel="prev" title="Rationale" href="rationale.html"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="index.html" class="fa fa-home"> Django Admin Sortable</a>
<div role="search">
<form id ="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuring Django Admin Sortable</a><ul>
<li class="toctree-l2"><a class="reference internal" href="configuration.html#static-media">Static Media</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="usage.html">Using Django Admin Sortable</a><ul>
<li class="toctree-l2"><a class="reference internal" href="usage.html#models">Models</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="django-cms.html">Django-CMS Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issue(s)</a></li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="rationale.html">Rationale</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rationale.html#why-another-drag-and-drop-ordering-plugin">Why another drag-and-drop ordering plugin?</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="">Status</a></li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Django Admin Sortable</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Status</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/status.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document">
<div class="section" id="status">
<h1>Status<a class="headerlink" href="#status" title="Permalink to this headline"></a></h1>
<p>django-admin-sortable is stable and currently used in production.</p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="rationale.html" class="btn btn-neutral" title="Rationale"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2014, Brandon Taylor.
</p>
</div>
<a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'1.7.0',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>

11
docs/rationale.rst 100644
View File

@ -0,0 +1,11 @@
Rationale
=========
Why another drag-and-drop ordering plugin?
------------------------------------------
Other projects have added drag-and-drop ordering to the ChangeList view, however this introduces a couple of problems...
- The ChangeList view supports pagination, which makes drag-and-drop ordering across pages impossible.
- The ChangeList view by default, does not order records based on a foreign key, nor distinguish between rows that are associated with a foreign key. This makes ordering the records grouped by a foreign key impossible.
- The ChangeList supports in-line editing, and adding drag-and-drop ordering on top of that just seemed a little much in my opinion.

4
docs/status.rst 100644
View File

@ -0,0 +1,4 @@
Status
======
django-admin-sortable is stable and currently used in production.