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