Управление Django ModelForm производится

Существует множество опций, однако у всех них есть дефекты с большим количеством расширенных функций.

  • Инструменты Windows Server 2003 обеспечивают простой хвост, который может быть загружен Инструментами Набора Ресурса . Это слишком ограничено во многих отношениях (блокировки сопровождаемый файл, испытывает недостаток во многих опциях как - pid), однако сделает для основной задачи отслеживания файла.

  • хвост GnuWin32 является багги ( О± ОІ Оі ) - вещи как-f просто не работают.

  • хвост UnxUtils кажется лучше (-f работы, но - pid кажется не,-n, но не - lines=n сбои с-f), но, кажется, мертвый проект.

  • Cygwin является большими ужасными шумами, мог, возможно, просто использовать DLL и coreutils пакет - но все еще имеет проблемы как - pid, не работающий с собственными процессами win32.

6
задан Glen Balliet 14 August 2009 в 17:49
поделиться

2 ответа

Как я могу изменить способ сортировки этих элементов в коде ModelForm или в коде модели, а не в шаблоне?

Вы можете добавить мета-опцию упорядочивание . Вы делаете это, добавляя к классу внутренний класс Meta с указанным атрибутом ordering :

class Department(models.Model):
    name = models.CharField(max_length=100)
    abbreviation = models.CharField(max_length=4)

    class Meta:
        ordering = ["name"]

Обратите внимание, что это изменяет порядок по умолчанию для моделей Department ( не только при использовании в форме).

И вообще, как я могу настроить способ работы определенного поля или виджета при создании ModelForm?

Вы захотите прочитать документацию Django о ModelForm и встроенные поля формы . В частности, обратите внимание на необязательный атрибут widget , который позволяет вам изменять виджет поля формы.

9
ответ дан 10 December 2019 в 00:42
поделиться

mipadi показал вам, как изменить порядок для вашей модели отдела, и это отражено в виджете формы.

Однако , если вы хотите только изменить порядок для этого виджета и оставить порядок модели по умолчанию как что-то еще, вы можете сделать это:

class CourseForm(ModelForm):
    department = forms.ModelChoiceField(
                           queryset=Department.objects.order_by('name'))

    class Meta:
        model = Course
1
ответ дан 10 December 2019 в 00:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: