2016-11-15 39 views
0

我有一个Python项目(我对Python很陌生),并且在其中一个网页上有一个下拉框,它应该显示所有项目的列表其'状态'字段设置为'生活'。Python-如何通过类查询数据库

似乎有两个特定的对象没有显示在这个下拉框中,所以我想手动查询数据库来检查他们的“状态”字段设置为什么。

如何根据他们的'项目名称'/'项目代码'手动查询这些特定项目的数据库,我知道这两个项目都是独一无二的?

我试图让所有的壳项目的清单,这样我就可以通过project_name为我想用命令的具体项目查询该名单:

from projects.models import Project 
prjcts = [] 
prjcts = Project.objects.all() 

这得到所有的Project对象,并将它们分配到列表prjcts。我现在想查询该列表中某个特定项目,并尝试这样做是这样的:

6Stoke = prjcts.get(project_code = 6SPR) 

我的目的是与它的值6SPR将被分配给变量6Stoke,使project_code项目然后我可以查看该特定项目的所有信息。然而,当我试图运行在控制台这一行,我得到了一个

SyntaxError: invalid syntax

警告该报告强调该行的6Stoke部分结束。

这里我的语法有什么问题?我如何获得具有指定project_code的项目并将其分配给变量?

编辑

啊,感谢OK-。我改变变量名,并再次运行查询,分配它的结果到可变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情况不同,即使我在完全相同的方式得到了他们两个后给予可用选项的列表,该列表会告诉我,他们不是同一类的实例...鉴于我通过查询同一个类而得到它们,这怎么可能呢?

+0

这只是变量不能与蟒蛇 –

+2

数字开始你不能说出一个变量开始与一些。叫它'SixStoke',或者'Prj6Stoke',或者'Stoke6'什么的。 –

+0

6SPR(项目代码)是一个字符串?也许你应该这样使用: '6Stoke = prjcts.get(project_code ='6SPR')' – Abiezer

回答

2

你不能说出一个变量开始与多家

+0

啊,好的。非常感谢。我删除了数字,并能够将类实例分配给变量。我使用相同的'filter()'方法为不同的变量分配了几个实例,只是为我正在过滤的'project_code'传入一个不同的值......但似乎这两个变量的实例属于不同的课程给予他们可用的选项是不同的 - 我怎么能这样做,我通过查询同一个班级来得到他们两个?我已更新我的问题以包含此详细信息... – someone2088