【发布时间】:2020-01-09 02:06:21
【问题描述】:
开发语言: Python
框架: Django 1.11
SQL: PostgreSQL
我有一个在表格中列出所有职位空缺的页面。在每一行的末尾,我都有一个action link,它会打开一个包含更多空缺信息的模式。
模式的数据布局已经准备好,我只需执行ajax call,以便使用与所选行相关的值更新动态数据,即月薪、办公室名称等。
这是我的模态的外观:
在我的views.py 中,我抛出 ajax 响应的方式是返回一个 HttpResponse(data, content_type="application/json"),这会导致将其作为 json 响应:
以上响应是通过SELECT * 查询。其中一些数据是primary key value 的引用表,例如office 表。
我的问题是:
- 返回这样的 json 响应对我来说是个好主意吗?
- 我是否应该指定我只需要的字段而不是使用 SELECT *,这样我就不必担心这些 PK 值可能会被黑客入侵?
【问题讨论】:
-
您应该始终尝试只选择您实际需要的列。这甚至不是安全问题。
-
是的,我也是这么想的,我只是需要一些“更有经验”的极客来为我验证这一点……我还更新了这篇文章的标题……谢谢!
-
您根本不应该使用 SELECT。您应该使用 Django 的模型层;然后将查询集中的相关字段序列化到响应中。
-
是的,我将模型层用于在我自己的应用程序中创建的模型。但是,这个 job_vacancy 表存在于一个单独的数据库中,主要通过一个单独的应用程序维护,所以我需要使用 django.db.connections 才能访问该外部数据库并执行原始 SQL 查询......
标签: javascript python django postgresql