如何分别为同一模型中的两个外键返回两个值?

时间:2017-05-05 12:38:54

标签: python django python-3.x

  class student(models.Model):
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=30)

  class details(models.Model):
       first_name = models.ForeignKey(student,models.DO_NOTHING, db_column='first name', blank=True, null=True)
       last_name = models.ForeignKey(student,models.DO_NOTHING, db_column='second name', blank=True, null=True)

这里,名字和姓氏是下拉列表。使用这段代码下拉列表显示studentObjects不是first_name和姓氏值。

我们使用了

  def __str__(self):
        return self.first_name

但不知道如何发送姓氏。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

我不喜欢你的数据结构,我怀疑你真的不想这样做。

我们假设以下内容:

class student(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

    def __str__(self):
        return "%s %s" % (self.first_name, self.last_name)


class details(models.Model):
    student = models.ForeignKey(student, models.CASCADE)

这是为了拥有student个对象(学生由first_namelast_name标识)。并且每个details对象可以与单个student相关(如果您想要更改关系,请执行此操作)。

关系介于studentdetails之间。我不确定这是否是你想要达到的目标,但也许有意义?