Переменная класса Django в переменную экземпляра
Казалось бы, name и tagline должны быть переменными класса, но как им удалось определить name и tagline как переменные экземпляра. Создание экземпляра blog будет выглядеть как Blog(name='...', tagline='...'). Не будет ли переменная доступна так: Blog.name и Blog.tagline
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
def __str__(self):
return self.name
Я не уверен, что понимаю, что вы имеете в виду, но любое поле, определенное в модели, будет доступно.
Например, предположим, что где-то в программе созданные образцы должны быть классифицированы на основе теглайна, в этом случае соответствующее поле будет критерием классификации.
Что касается функции __str__
, то это то, что используют Python и Django всякий раз, когда экземпляр модели нужно принудительно вывести на экран в виде простой строки, и вы можете поместить в нее любое нужное вам поле ( см. здесь).