Как получить значение поля в django Model?

У меня есть такой код

class Book(models.Model):
    name = models.CharField(max_length=70)
    author = models.CharField(max_length=70)
    rating = models.IntegerField(default=None)
    volume = models.IntegerField(null=True, default=None)
    annotation = models.TextField(default=None)
    year = models.IntegerField()
    

Я хочу получить значение из поля прямо в классе. Например, "Harry Potter" для имени. Я не могу найти метод, чтобы сделать это.

Я думаю, вам нужно показать имена, поэтому вы хотите получить доступ в классе.

Для отображения имен можно воспользоваться __str__[python-doc].

Попробуйте следующий код:


class Book(models.Model):
    name = models.CharField(max_length=70)
    author = models.CharField(max_length=70)
    rating = models.IntegerField(default=None)
    volume = models.IntegerField(null=True, default=None)
    annotation = models.TextField(default=None)
    year = models.IntegerField()
    
    def __str__(self):
        return f"{self.name}"

Remember: __str__ требует данных типа str.

Вернуться на верх