В чем польза и смысл мета-класса, используемого в Django в разделе Models. Также почему и когда мы указываем его, а когда нет.
class Comment(models.Model): имя_урока = models.ForeignKey(Lesson , null=True, on_delete=models.CASCADE, related_name='comments') comm_name = models.CharField(max_length=100 , blank=True) author = models.ForeignKey(User , on_delete=models.CASCADE) тело = models.TextField() date_added = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
self.slug = slugify("comment by" + "-" +str(self.author) + str(self.date_added))
super().save(*args, **kwargs)
def __str__(self):
return self.comm_name
class Meta:
ordering = ['-date_added']
Согласно документации django:
Метаданные модели - это "все, что не является полем", например, параметры упорядочения опции (ordering), имя таблицы базы данных (db_table), или человекочитаемые имена единственного и множественного числа (verbose_name и verbose_name_plural). Ни один обязательны, а добавление класса Meta к модели совершенно необязательно.
Вы можете найти все мета параметры здесь.