2015-10-20 93 views
1

我的Django應用程序有幾個應用程序,每個都有自己的models.py。我也有一個api應用程序,它提供了一個REST API。應該在應用程序之間共享的自定義對象管理器應該去哪裏?

對於模型A,我經常想獲得的數據分頁以某種方式(該data-tables方式)。我想在幾個地方(在api應用程序和一些主要的UI應用程序中)執行此操作,因此我創建了自定義對象管理器PaginationManager並將其附加到模型A。然後

生活很好,幹,但現在另一個模型B需要得到一個分頁的方式。我想使用相同的PaginationManager,但應該使用哪個應用程序?它是否屬於任何應用程序之外?這似乎有很多業務邏輯要放在util文件夾或其他東西。

+0

它應該像許多應用程序中使用的其他Python代碼一樣進入模塊。 –

回答

4

最好的做法是使它儘可能通用和其解壓縮到一個libutils應用程序,可以通過您的所有應用中重複使用。

我通常會有一個utils應用程序,其中包含像paginators.py,serializers.py,mixins.py等。通常更通用和可重用性越好。

+1

我也這麼做。只要你可以導入它,無論你對什麼地方有意義,你的團隊都和其他任何地方一樣。 – Brandon