我有一个django应用程序,我试图使用django访问一些Postgres函数。我正在关注this method来实现这一点(尽管该站点中使用的数据库是mysql)。
我能够成功创建函数,当我使用sql命令尝试它时,它工作正常。
这就是我的模型的样子:
class Results(models.Model):
test_type_id = models.IntegerField(null=True, blank=True)
test_id = models.CharField(max_length=12, null=True, blank=True)
test_name = models.CharField(max_length=50, null=True, blank=True)
YR = models.IntegerField(null=True, blank=True)
@staticmethod
def summaryrosterbycampus(testtypeid, testid):
cur = connection.cursor()
cur.callproc('summaryrosterbycampus',[testtypeid, testid])
results = cur.fetchall()
cur.close()
return [Results(*row) for row in results]
我试图从shell访问它,如下所示:
>>> from reports.models import *
>>> data = Results.summaryrosterbycampus(request.GET[1,'201403MAME04'])
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'request' is not defined
我哪里错了?
答案 0 :(得分:1)
您正在尝试在shell(没有请求对象)的视图(传入请求对象)中执行要执行的操作。我想你想要的东西:
exampleResult = Results.objects.all()[0] # or some other way to get a result to give you the test_type_id and test_id values to pass
data = Results.summaryrosterbycampus(exampleResult.test_type_id,exampleResult.test_id)