首页 > 解决方案 > Django Models:如何将一个类的 id 和一个类的非空对象字段传递给另一个类?

问题描述

这是一个概念问题,不一定是错误。如何区分绘制类的自动生成 id 和绘制类中非空对象字段的名称?例如,在我的课程 Source 中,我有:

class Source(models.Model):
    profile = AutoOneToOneField(User, on_delete=models.CASCADE, null=True)
    project= AutotOneToOneField(Project, on_delete=models.CASCADE, null=True)
    team =AutotOneToOneField(Team, on_delete=models.CASCADE, null=True)
    department = AutoOneToOneField(Department, on_delete=models.CASCADE, null=True)

  def __str__(self):
        return self.profile + self.project + self.team + self.department

目标是让源来自个人资料、项目、团队或部门,我想将该源与源 ID 相关联,但我也希望能够知道源的类型。在我的课堂上,VideoPost:

class VideoPost(models.Model):
    sourceID = models.ForeignKey(Source, on_delete=models.CASCADE)
    postID = models.ForeignKey(Post, on_delete=CASCADE)

我想绘制sourceID,但在我的类中:

class Following(models.Model): 
    profile = AutoOneToOneField(User, on_delete=models.CASCADE)  
    account_types = models.ForeignKey(Source, on_delete=models.CASCADE)  #need to create an account type
    account_ids = models.PositiveIntegerField()
    following_objects = GenericForeignKey('account_types', 'account_ids')

    def __str__(self):
        return self.profile + 'is following'

我想绘制源的类型(在 account_types 中)。如何区分并返回所需的值?

标签: pythondjangoclassmodel

解决方案


推荐阅读