Доступ к данным модели в django
У меня есть модель Django:
class Myvalues(models.Model):
items_list = models.JSONField()
Я заполнил эту модель в Django admin. Теперь я хочу получить доступ к данным внутри этой модели. Однако я получаю ошибку, которая гласит: 'Manager' object has no attribute ‘items_list'
Я пытаюсь получить доступ к данным следующим образом:
Print(Myvalues.objects.items_list.values())
Я не понимаю, почему это происходит, ведь в классе есть эта модель.
Из интереса я распечатал результат all()
класса Myvalues
, вот так:
print(Myvalues.objects.all())
в результате получилось следующее:
<QuerySet [<Myvalues: Myvalues object (1)>]>
Как я могу получить доступ к данным, которые находятся в моей модели items_list?
Вместо этого используйте следующий синтаксис (документация).
Myvalues.objects.values_list('items_list', flat=True)
Если вы хотите, чтобы возвращались кортежи, опустите flat=True
.
Myvalues.objects
возвращает объект django.db.models.manager.Manager
, а не Myvalues: Myvalues object
Для того чтобы запросить items_list
используйте
Myvalues.objects.all()[i].item_list
Возвращает все объекты Myvalue
и выбирает один с индексом. Из этого объекта вы можете получить свойства вашей модели.