为表单视图准备数据(django、drf、axios、vuejs)

Preparing data for a form view (django, drf, axios, vuejs)

我正在使用 Django、DRF、Axios 和 Vuejs 构建 Web 应用程序。 它有效,但我想知道处理这种情况的最佳做法是什么。 考虑以下表格:

我想创建一个可以为其分配公司和联系人的项目。 该公司本身就是一个典范,也是 Contact 的典范。 “联系人”字段仅显示 selected 公司的联系人。

我应该如何查询数据以尽可能RESTful?

  1. 查询所有公司,查询所有联系人,并计算 属性 仅显示当前 selected 公司的联系人?
  2. 查询所有的公司,而我每次select一个公司只查询相关的Contacts ?
  3. 其他解决方案?

两者各有利弊,我想知道处理这种情况的最佳方法是什么。另外,如果有标准的方法来设计这个。

为所有 'Companies' 调用 GET API,然后当用户 select 是一家公司时,为 'Contacts' 调用 GET API。这就是它通常在企业应用程序中完成的方式,例如:当您 select 一个国家然后一个城市时。

但你必须权衡每种方法的优缺点。想想你的应用程序的遥远未来。如果你scale/expand,公司和相关联系人的数量会增加吗?这样只有当用户 select 是一家公司时,才能高效地获取联系人。如果不是,并且您知道公司及其后续联系人的最大数量,并且您知道该数量足够小,可以预先加载,而不是在加载表单后立即加载所有内容。