Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django模型上使用外键填充选择输入_Python_Django_Forms_Foreign Keys_Models - Fatal编程技术网

Python 在Django模型上使用外键填充选择输入

Python 在Django模型上使用外键填充选择输入,python,django,forms,foreign-keys,models,Python,Django,Forms,Foreign Keys,Models,我在文档中查找如何解决我的问题时遇到问题,因此我在此处发布: 我有3个模型,一个用于教室及其属性,一个用于学生,最后一个用于教室和学生的关系。 因此,在模板上,我希望它显示一个选择按钮,选项值为学生id,标签为学生姓名 在my models.py上,我有以下内容: student_id = models.ForeignKey('Student', verbose_name=u"Student") 在my template.html上,我只调用以下字段: {{ field }} 我得到的结

我在文档中查找如何解决我的问题时遇到问题,因此我在此处发布: 我有3个模型,一个用于教室及其属性,一个用于学生,最后一个用于教室和学生的关系。 因此,在模板上,我希望它显示一个选择按钮,选项值为学生id,标签为学生姓名

在my models.py上,我有以下内容:

student_id = models.ForeignKey('Student', verbose_name=u"Student")
在my template.html上,我只调用以下字段:

  {{ field }}
我得到的结果是:

<select name='student_id'>
  <option value='1'>Student object</option>
</select>

如果我对这个问题不够清楚,请告诉我,因为我对python和django相当陌生,我所要做的就是通过向每个模型添加unicode函数来设置要返回的默认值:

def __unicode__(self):
    return self.student_name
完整的型号代码如下:

Class StudentRoom(models.Model):
    student_id  = models.ForeignKey('Student')
    room_id  = models.ForeignKey('Room')

Class Student(models.Model):
    student_name = models.CharField(max_length=100)
    student_email = models.CharField(max_length=100)

  def __unicode__(self):
    return self.student_name

Class Room(models.Model):
    room_name = models.CharField(max_length=100)
    room_faction = models.CharField(max_length=100)

  def __unicode__(self):
    return self.room_name

我在这里找到了问题的答案,他比我解释得更好:
Class StudentRoom(models.Model):
    student_id  = models.ForeignKey('Student')
    room_id  = models.ForeignKey('Room')

Class Student(models.Model):
    student_name = models.CharField(max_length=100)
    student_email = models.CharField(max_length=100)

  def __unicode__(self):
    return self.student_name

Class Room(models.Model):
    room_name = models.CharField(max_length=100)
    room_faction = models.CharField(max_length=100)

  def __unicode__(self):
    return self.room_name