Использование meta класса в django
может кто-нибудь объяснить, почему meta class используется в следующем примере.
Ex:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
спасибо.
4 ответов
модели Django используют Meta
class, чтобы содержать дополнительную информацию о модели, которая не обязательно будет уместна для содержания в самом классе модели. Обратите внимание, что это не то же самое, что и у Python metaclass
; это совершенно другая тема.
в этом случае он упорядочивает или сортирует запросы к этой модели по полю "Gender"
в этом случае он определяет поле по умолчанию для заказ, если вы не предоставите 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.