通过抽象基类和管理类向django对象添加手动排序顺序。
django-orderable的Python项目详细描述
#django orderable
通过抽象基类和管理类向django对象添加手动排序顺序。项目包括:
*抽象基本模型
*管理类
*内联管理类
*管理模板
\demo
![Django可订购演示](https://cloud.githubusercontent.com/assets/30606/6326221/667992e0-bb47-11e4-923e-29334573ff5c.gif)
…
orderabletabularinline
class someinlineclass(orderabletabularinline):
…
class someadminClass(orderableadmin):
list\u display=(“unicode”、“sort\u order\u display”)
…
classsomeadminClass(orderableadmin):
class media:
extend=false
js=(
'path/to/jquery.js',
'path/to/jquery.ui.js',
)
例如:
class myorderable(orderable):
class meta(orderable.meta):
…
子类“Orthabr.Manager”OrdababManager,而不是“Django.Dig.Manager”,
BR/>事务> BR/> BR/>保存有序模型调用了大量的数据库查询,并且为了避免BR/>避免在事务中运行竞争条件。
BR/>添加到现有模型的命令
BR/>您将需要填充必需的“排序顺序”字段。通常这是通过在一次迁移中添加默认值为“0”的字段来完成的,然后创建
一个数据迁移,将其值设置为主键:
orm['appname.model'].objects.all():
obj.sort\u order=obj.pk
obj.save()
将查找具有排序顺序的下一个/上一个模型。但是,您可能希望使用由外键或某些其他谓词确定的各种排序顺序。最简单的方法(目前)是重写
问题中的方法。
通过抽象基类和管理类向django对象添加手动排序顺序。项目包括:
*抽象基本模型
*管理类
*内联管理类
*管理模板
\demo
![Django可订购演示](https://cloud.githubusercontent.com/assets/30606/6326221/667992e0-bb47-11e4-923e-29334573ff5c.gif)
…
orderabletabularinline
class someinlineclass(orderabletabularinline):
…
class someadminClass(orderableadmin):
list\u display=(“unicode”、“sort\u order\u display”)
…
classsomeadminClass(orderableadmin):
class media:
extend=false
js=(
'path/to/jquery.js',
'path/to/jquery.ui.js',
)
例如:
class myorderable(orderable):
class meta(orderable.meta):
…
子类“Orthabr.Manager”OrdababManager,而不是“Django.Dig.Manager”,
BR/>事务> BR/> BR/>保存有序模型调用了大量的数据库查询,并且为了避免BR/>避免在事务中运行竞争条件。
BR/>添加到现有模型的命令
BR/>您将需要填充必需的“排序顺序”字段。通常这是通过在一次迁移中添加默认值为“0”的字段来完成的,然后创建
一个数据迁移,将其值设置为主键:
orm['appname.model'].objects.all():
obj.sort\u order=obj.pk
obj.save()
将查找具有排序顺序的下一个/上一个模型。但是,您可能希望使用由外键或某些其他谓词确定的各种排序顺序。最简单的方法(目前)是重写
问题中的方法。