Заказ товаров через интерфейс django-admin - PullRequest
8 голосов
/ 20 января 2011

Допустим, у меня есть модель django, похожая на эту:

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

На мой взгляд, я показываю все вопросы, упорядоченные по возрастанию в поле заказа.

Мой вопрос:Есть ли простой способ изменить поле заказа в интерфейсе администратора Django?Сейчас мне нужно отредактировать Вопрос, затем посмотреть, какое число поставить в поле заказа, и, возможно, даже изменить порядок всех остальных элементов.Что я действительно хочу, так это несколько стрелок вверх и вниз на странице администратора, где перечислены все вопросы.

Возможно ли это?

Ответы [ 4 ]

12 голосов
/ 04 февраля 2011

Проверьте это: django-ordermodel .

Это действительно простая реализация абстрактного базового класса для элементов, которые можно заказать с помощью интерфейса администратора. Нет внешних зависимостей и прост в использовании.

5 голосов
/ 20 января 2011

Конечно, вот пример файла admin.py со ссылками вверх и вниз для изменения порядка элементов: https://github.com/alexvasi/django-simplemenu/blob/master/simplemenu/admin.py

По сути, вам просто нужно переопределить метод get_urls , чтобы добавить свои собственные представления (move_up и move_down в этом примере).

Более известным примером будет django-treemenus , но есть некоторый дополнительный код для поддержки более старых версий django.

0 голосов
/ 12 сентября 2017

Если кто-то еще ищет решение этой проблемы в 2017 году, я нашел отличный пакет Django Admin Sortable

0 голосов
/ 20 января 2011
...