Вопрос

Может кто-нибудь объяснить, почему в следующем примере используется метакласс.

Бывший:

Class Employee (models.Model):
    name = models.ForeignKey(name)
    Gender = models.IntegerField()


    class Meta:
        ordering = ["Gender"]

Спасибо.

Это было полезно?

Решение

Потому что автор/программист хочет отсортировать результаты по значению поля «Пол».

Другие советы

Модели Django используют Meta class для хранения дополнительной информации о модели, которую не обязательно содержать в самом классе модели.Обратите внимание, что это нет то же, что Python metaclass;это совсем другая тема.

В этом случае происходит упорядочивание или сортировка запросов к этой модели по полю «Пол».

В этом случае он определяет поле по умолчанию для заказа, если вы не предоставляете ORDER_BY в вашем запросе.

Это объясняется в документации Django для моделей.

https://docs.djangoproject.com/en/dev/topics/db/models/

Предоставьте метаданные вашей модели, используя внутренний класс Meta, например:

Class Employee (models.Model):
    ....

    class Meta:
        ordering = ["attribute-X"]

Еще одна полезная опция, которую можно использовать в классе Meta, — это verbose_name.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top