Django-多重依赖形式

Django-多重依赖形式,django,django-forms,multiple-forms,Django,Django Forms,Multiple Forms,我扩展了Django用户模型,用类概要文件创建了1对1的依赖关系。在同一个社区中将有许多个人资料。一个档案可以同时在不同的社区播放。我使用社区模型中的多对多字段“成员”完成了这项工作。如下所示。(我减少了不相关的代码) 创建新配置文件时,我希望它与社区直接关联。 因此,在用户注册表中,我想问他是否希望加入现有社区或创建新社区。 我相信我需要一些“多种形式”的东西,但我希望在我到底需要什么以及如何寻找信息方面得到帮助 谢谢 如果您在成员m2m字段上设置一个相关的\u名称,相关的\u名称='com

我扩展了Django用户模型,用类概要文件创建了1对1的依赖关系。在同一个社区中将有许多个人资料。一个档案可以同时在不同的社区播放。我使用社区模型中的多对多字段“成员”完成了这项工作。如下所示。(我减少了不相关的代码)

创建新配置文件时,我希望它与社区直接关联。
因此,在用户注册表中,我想问他是否希望加入现有社区或创建新社区。

我相信我需要一些“多种形式”的东西,但我希望在我到底需要什么以及如何寻找信息方面得到帮助


谢谢

如果您在
成员
m2m字段上设置一个
相关的\u名称
相关的\u名称='communities'
,这会有所帮助。这样,您就可以执行
profile.communities.all()
来获取用户配置文件的社区。第二,在表单中,只需添加一个,用户就可以从可用社区中进行选择。在您的视图中,循环选择并明确创建每个
成员身份。如果您在
成员
m2m字段上设置一个
相关名称
,这会有所帮助:
相关名称
。这样,您就可以执行
profile.communities.all()
来获取用户配置文件的社区。第二,在表单中,只需添加一个,用户就可以从可用社区中进行选择。在您看来,循环选择并明确创建每个
成员资格。
class Profile(models.Model):

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    # Extend Users Here 


class Community(models.Model):

    username = models.CharField(max_length=100)
    password = models.CharField(max_length=50) 
    members = models.ManyToManyField(Profile, through='Membership')

    def get_members(self):
        return "\n".join([str(m) for m in self.members.all()])


class Membership(models.Model):

    community = models.ForeignKey(Community, on_delete=models.CASCADE)
    player = models.ForeignKey(Profile, on_delete=models.CASCADE)