Python- как запросить базу данных по классу
У меня есть проект Python (я новичок в Python), и на одной из веб-страниц есть раскрывающееся окно, в котором должен отображаться список всех проектов, для которых в полях "status" установлено значение "live",
Похоже, что несколько конкретных объектов не отображаются в этом раскрывающемся списке, поэтому я хочу вручную выполнить запрос к базе данных, чтобы проверить, какие поля их статуса установлены.
Как вручную запросить базу данных об этих конкретных проектах по их "имени проекта" / "коду проекта", оба из которых, как я знаю, уникальны?
Я попытался получить список всех проектов в оболочке, чтобы я мог запросить этот список по project_name
для конкретных проектов, которые я хочу использовать команды:
from projects.models import Project
prjcts = []
prjcts = Project.objects.all()
Это получает все Project
объекты и назначает их в список prjcts
, Теперь я хочу запросить этот список для конкретного проекта, и попытался сделать это так:
6Stoke = prjcts.get(project_code = 6SPR)
Я хотел, чтобы проект с project_code
чья ценность была 6SPR
будет назначен переменной 6Stoke
, так что я мог бы тогда посмотреть на всю информацию для этого конкретного проекта. Однако, когда я попытался запустить эту строку в консоли, я получил
SyntaxError: неверный синтаксис
предупреждение, которое подчеркнул конец 6Stoke
часть линии.
Что не так с моим синтаксисом здесь? Как я могу получить проект, который имеет указанный project_code
и назначить его переменной?
редактировать
Ах, хорошо, спасибо. Я изменил имя переменной и снова запустил запрос, присвоив его результаты переменной sixStokeList
т.е.
sixStokeList = Project.objects.filter(project_code = "6SPR")
это вернуло два элемента и напечатало элементы массива на консоли, т.е.
sixStokeList[0]
&sixStokeList[1]
Я знаю, какой я хочу, поэтому я назначил этот конкретный переменную с помощью:sixStoke = sixStokeList [1]
Я тогда набрал sixStoke.
и нажмите "tab" в консоли, чтобы увидеть, что доступно для этой переменной. Я сделал то же самое с другим проектом, т.е.
theFoss = Project.objects.filter(project_code= "1TF")
theFoss. (& pressed 'tab')
Список доступных опций приведен после ввода variable
+ .
+ tab
был разным для каждого project
Например, хотя я получил их обоих одинаковым образом, это указывало бы на то, что они не являются экземплярами одного и того же класса... как это может быть, учитывая, что я получил их обоих, опрашивая один и тот же класс?