【问题标题】:django relation between classesdjango类之间的关系
【发布时间】:2022-01-18 13:34:02
【问题描述】:

假设您有一个由团队拥有的类项目。一个团队可以有多个项目,但每个项目只能有一个团队。

class Project(models.Model):
    project_manager = models.ForeignKey(Profile, on_delete=CASCADE)

    title           = models.CharField(max_length=55, null=True, blank=True)
    developers      = models.ManyToManyField(Profile, related_name='projects')
    slug            = models.SlugField(max_length=500, unique=True, blank=True)
    description     = models.TextField(default="Project description")
    teams           = models.ForeignKey(Team, blank=True, null=True, on_delete=CASCADE)
    tasks = project.task_set.all()   <-- like this?

那么每个项目都有一个任务,所以要创建一个任务类,带有项目的外键

class Task(models.Model):
    title           = models.CharField(max_length=55, null=True, blank=True)
    members         = models.ManyToManyField(Profile, related_name='tasks')
    slug            = models.SlugField(max_length=500, unique=True, blank=True)
    task_completed  = models.BooleanField(default=False)
    description     = models.TextField(default="Task description")
    project         = models.ForeignKey(Project, blank=True, null=True, on_delete=CASCADE)

当试图从任务类中获取所有成员时,在项目类的视图中,没有关系,项目无权访问,如何确保项目知道任务知道的任务项目?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    您可以通过_set.all()获取您的任务

    根据项目访问您的任务:

    tasks = project.task_set.all()

    【讨论】:

    • 更新了,你是这么想的吗?
    猜你喜欢
    • 1970-01-01
    • 2011-05-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    相关资源
    最近更新 更多