我正在使用Django实现一个项目。这是一个人们可以查看不同艺术课程并注册的网站。我有麻烦实现应用程序作为可重用的应用程序。我已经有一个独立的应用程序,照顾艺术的所有方面。现在我想创建另一个应用程序,其中管理员在系统中为艺术创建各种事件。从概念上讲,这两个应该是一个独立的应用程序。事件调度是一个非常通用的用例,我想以一种可以用于调度任何类型事件的方式来实现它。
在我的情况下,这些事件是与艺术相关的事件。我不想在我的Event模型中放置一个外键到Art模型。我如何使它可重用,以便它可以调度与任何类型的对象相关的事件。
我的建议是创建第三个模型,称为ArtEvent
,并使该模型指向Art
和Event
,这样您就可以创建一个特定的应用程序来管理事件,然后链接所有内容。例如,当创建一个新的ArtEvent
时,您将用户重定向到Event
应用程序,以使他能够创建一个新的事件。然后用创建的事件再次重定向到Art
应用程序,创建一个新的ArtEvent
并链接这些对象。
在未来,让我们假设你想要添加事件到另一个模型,如User
,如果你遵循相同的策略,你可以区分什么是UserEvent
特定的,并保持ArtEvent
和UserEvent
之间的公共。