关于将项目实施为可重用应用程序的 Django 理念

regarding Django philosphy of implementing project as reusable applications

我正在使用 Django 实现一个项目。人们可以在该网站上查看不同的艺术课程并进行注册。我在将应用程序实现为可重用应用程序时遇到问题。我已经有一个独立的应用程序来处理艺术的所有方面。现在我想创建另一个应用程序,管理员在其中为系统中的艺术创建各种事件。从概念上讲,这两个应该是独立的应用程序。事件调度是非常通用的用例,我想以一种可用于调度任何类型事件的方式来实现。

就我而言,这些活动是与艺术相关的活动。我不想在我的 Event 模型中放置 Art 模型的外键。我怎样才能使它可重用,以便它可以用于安排与任何类型的对象相关的事件。

我的建议是创建第三个模型,称为 ArtEvent 并使该模型指向 ArtEvent,这样您就可以创建一个特定的应用程序来管理事件和然后 link 一切。例如,当创建一个新的 ArtEvent 时,您将用户重定向到 Event 应用程序,以使他能够创建一个新事件。然后使用创建的事件再次重定向到 Art 应用程序,创建一个新的 ArtEvent 和 links 这些对象。

将来假设您想将事件添加到另一个模型,例如 User,如果您遵循相同的策略,您可以分离 UserEvent 特定的内容,并保持两者之间的共同点ArtEventUserEvent.