【发布时间】:2019-07-24 12:43:19
【问题描述】:
向 django 社区请求一些帮助。 我是 Django 的新手。我的要求是
- 创建一个 DRF,它将在现有数据库中执行存储过程(MS SQL 数据库中的主数据管理)并列出记录。
- 此外,当我们从第 1 点导航到每条记录时,我们会显示包含更多字段的记录的详细信息。
我已经创建了一个函数,它在我的view.py 文件中使用pyodbc 来实现结果并显示值。
但是我读过一些文章,其中提到作为最佳实践,最好先定义一个模型,然后再定义一个序列化程序来定义数据结构并显示它们。
问题:
- 为上述场景定义模型是否正确?
- 据我所知,每当我们创建模型时,它都会创建一个我不想要的数据库表(因为我已经拥有包含所有必要表和数据的数据库)。因此,如果第 1 点是肯定的,那么您可以参考构建不会创建表的模型。
- 除上述要求外,我想连接多个数据库(一个 MS SQL 数据库和一个 oracle 数据库和一个内容管理数据库),所有这些模型都应该是只读的,我的模型不应该创建任何新表.
提前致谢。
我目前正在使用此代码来实现第 1 点:
conn = pyodbc.connect(
"Driver={ODBC Driver 11 for SQL Server}; Server=servername; PORT:60755; Database=databasename; Trusted_Connection=yes;user=user; Passoword=password")
def ClientListView(request):
print("read")
cursor = conn.cursor()
ClientObjlist = conn.execute("exec [Database].[dbo].[Storedprocedure] @doccount = '50'")
description = ClientObjlist.description
items = []
items = [dict(zip([key[0] for key in description], row)) for row in ClientObjlist]
columnheader = [key[0] for key in description]
return render(request, 'api/activelist.html', {'items': items , 'key':columnheader})
conn.close()
【问题讨论】:
标签: django django-rest-framework