使用django 1.7.7或1.8,我想要做的是向此页面添加一个向上和向下按钮:
这样我就可以整齐地更改对象顺序。 我看见: https://djangosnippets.org/snippets/2858/ 但是我不明白如何通过Media类加载javascript。 我的代码:
#models.py
from django.db import models
class Box(models.Model):
material = models.CharField(max_length=30)
priority = models.IntegerField()
class Meta:
ordering = ('priority',)
class Media:
js = ['static/js/widget_ordering.js', ]
def __unicode__(self):
return "%i: %s" % (self.priority, self.material)
#admin.py
from django.contrib import admin
from .models import Box
class BoxAdmin(admin.ModelAdmin):
list_display = ('priority', 'material')
admin.site.register(Box, BoxAdmin)
我已经知道替代解决方案是: - 制作扩展base_site的模板 - 更改urls.py以覆盖网址 - 写模板代码和javscript来做我需要的事情
但我想我应该首先询问是否有更简单的解决方案。
答案 0 :(得分:1)
django-mptt
支持Django 1.8+并内置admin base class拖放功能。我没有按要求提供上下按钮,但拖放应该足够好。
我不仅支持订购,还支持树木。 MPTT代表Modified Preorder Tree Traversal。