【问题标题】:Django ManyToManyField connected to field inside another model. (Project Management)Django ManyToManyField 连接到另一个模型内的字段。 (项目管理)
【发布时间】:2019-10-23 19:34:07
【问题描述】:

我有一个有成员的 SchoolClass。我现在想做一个连接到一些成员的项目。我该怎么做?

class SchoolKlass(models.Model):
    name = models.CharField(max_length=50)
    members = models.ManyToManyField(UserProfile, blank=True,related_name='a')

    class Meta:
        verbose_name_plural = 'Klasser'

    def __str__(self):
        return self.user.username

class Project(models.Model):
    members = models.ManyToManyField(SchoolKlass.members, blank=True)
    name = models.CharField(max_length=200)
    description = models.CharField(max_length=1000)
    schoolKlass = models.ForeignKey(SchoolKlass, on_delete=models.CASCADE)

如您所见,我想在 Project 模型的多对多关系中访问 SchoolKlass.members。

【问题讨论】:

  • 我并没有真正遵循您在这里想要做的事情。这到底是如何工作的?你想要一个三元关系吗?
  • 是的,我想为 SchoolClass 中的一些成员分配一个项目
  • 喜欢 SchoolKlass.members

标签: django django-models django-rest-framework django-templates django-views


【解决方案1】:

用户循环导入..

class SchoolKlass(models.Model):
name = models.CharField(max_length=50)
members = models.ManyToManyField(UserProfile, blank=True,related_name='a')

class Meta:
    verbose_name_plural = 'Klasser'

    def __str__(self):
        return self.user.username

class Project(models.Model):
    members = models.ManyToManyField("SchoolKlass.members", blank=True)
    name = models.CharField(max_length=200)
    description = models.CharField(max_length=1000)
    schoolKlass = models.ForeignKey(SchoolKlass, on_delete=models.CASCADE)

在关系字段上提供“appname.model”。不要忘记引用,

【讨论】:

  • 在这种情况下,它将是 'myClass.SchoolKlass.members' 并且不起作用
  • 在这种情况下不应该是“appname.SchoolKlass”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 2023-03-25
  • 2016-06-30
  • 1970-01-01
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多