Reputation: 2325
Lets say I have a django model looking like this:
class question(models.Model):
order = models.IntegerField('Position')
question = models.CharField(max_length= 400)
answer = models.TextField()
published = models.BooleanField()
def __unicode__(self):
return self.question
In my view I show all of the questions ordered ascending by the order field.
My question is: Is there an easy way to edit the order field in the django admin interface? Right now, I have to go to edit the Question, then look up what number to put in the order field and maybe even reorder all the other items. What i really want would be some "up and down"-arrows on the admin page where all the questions are listed.
Is that possible?
Upvotes: 11
Views: 8617
Reputation: 1
You can use django-admin-sortable2 to easily change the order of items including inline items as well.
Upvotes: 2
Reputation: 205
In case someone else is seeking the solution for that issue in 2017, I found the great package Django Admin Sortable
Upvotes: 0
Reputation: 13616
Check this: django-orderedmodel.
This is a really simple implementation of abstract base class for items which can be ordered with admin interface. No external dependencies and easy to use.
Upvotes: 12
Reputation: 5344
Sure, here is an example of admin.py file with up and down links to change items order: https://github.com/alexvasi/django-simplemenu/blob/master/simplemenu/admin.py
Basically, you just need to override get_urls method to add your custom views (move_up
and move_down
in this example).
More famous example would be django-treemenus, but there is some extra code to support older versions of django.
Upvotes: 5