繁体   English   中英

Django建模ManyToMany关系机制

[英]Django models ManyToMany relations mechanics

我需要创建Profile模型和Project模型,但并不太了解ManyToMany现场技术。

现在我有:

class Project(models.Model):
    title = models.CharField(max_length=20, unique=True)
    ...

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, unique=True)
    projects = models.ManyToManyField(Project, related_name='profiles')
    ...

我现在可以使用project.profiles调用与项目相关的所有配置文件,以及如何将配置文件字段添加到Project admin表单中吗? 我尝试查找一些示例,但未找到任何示例。

您可以从Project获得所有配置文件,例如:

# Setup
project1 = Project.objects.get(title='first')
project2 = Project.objects.get(title='second')

profile = Profile.objects.create(user=user)
profile.projects.add(project2)

# Get all profiles from a project
project2.profiles.all()
>>> <QuerySet [<Profile: Profile object>]>

关于表单,我不是最好的回答,因为我不使用,所以我更喜欢使用“原始”表单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM