Django向用户对象添加多个到一个字段

我正在创建一个与Django User类具有多对一关系的Network类.换句话说,网络可以有许多用户,每个用户只有一个网络.添加多对多关系很容易,因为我可以在Network类中添加多对多字段;但是,由于我需要在User类中添加外键,因此很难应用多对一关系.我无法做到这一点.

我有一个UserProfile类,它与User有一对一的关系,但它只用于存储有关User的其他信息,而不是任何关系.我定义的所有其他关系都与User相关,而不是UserProfile.

有没有办法在不使用UserProfile的情况下创建与User和Network类的多对一关系?谢谢!

最佳答案 我能想到的唯一的事情是子类化User,这很棘手,因为管理员无法将基础对象(在这种情况下是用户)转换为子类对象(NetworkUser,是的,我已经尝试过),或者创建了一个NetworkUser具有与用户的OneToOne关系和对网络的ForeignKey的模型.我推荐后者,因为虽然你现在确定你只想向用户添加一件事,但这不应该是一件大事,以后会有更多要添加.

直接弄乱User的困扰我的是,这只适用于单个应用程序,不一定是整个项目,并且会以影响项目中其他应用程序的方式修改User.

点赞