代码之家  ›  专栏  ›  技术社区  ›  Paras

django admin,如何只触发一次函数?

  •  0
  • Paras  · 技术社区  · 7 年前

    我有一个模型,我们把它命名为A.我已经用管理员注册了这个模型,现在这个模型需要一些预先填充的数据,它是由第三方REST调用提供的,管理员可以做的唯一动作是启用或禁用某些东西。

    现在我只需要调用一次filler函数,因为最初表a没有任何数据。

    我怎么能忍受这个呢?

    1 回复  |  直到 7 年前
        1
  •  0
  •   bruno desthuilliers    7 年前

    tl;dr:使用管理命令并记录安装后必须调用它的事实。

    更长的答案:

    能够 use the app.ready() method 要测试您的模型是否有任何记录,如果没有调用函数, 但是

    1. REST API调用很容易失败(网络问题或其他问题),这不是你想在这里发生的事情。

    2. 这也可能需要一些时间,你不想太慢的进程启动,和

    3. 可能有多个并发调用 app.ready (通常在生产设置中启动前端服务器时)并且您肯定不希望这里有竞争条件。