我有应用程序用户和项目,并想定义另一个名为“角色”的应用程序,以扩展Django-auth以每项项目为基础。

我将角色应用程序中的ProjectMembership定义为自定义的Manuttomany关系模型。但是如何使用用户或项目模型中的M2M字段来使用 through 宣言?

那么问题是我们可以从另一个应用程序定义模型字段吗?

有帮助吗?

解决方案

我认为这是不可能的,即使有可能,我认为这是一个非常糟糕的解决方案。

我认为您最好的选择是使用两个FK创建ProjectMembership模型,一个是用户,一个用于项目。那你有一个 手动的 M2M关系,您只能使用所有不错的Django功能来与M2M关系合作。

但是,如果您想要此功能(不需要它们),则应修改用户或项目模型。

其他提示

是的,您可以,Django会自动为您创建反向关系。采用 related_name 给它一个名字!

修改(金钱修补) User 模型不是一个好主意。如果要扩展它,请通过:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top