【发布时间】:2014-01-06 15:35:32
【问题描述】:
我有两个表,School 和 Scores,它们有一个共同的 'psid' 列。我正在将每个表中的数据导入我的应用程序。我想通过 ForeignKey 将两个表链接在一起(一所学校可以有多个分数)。
目前我的 models.py 看起来像这样:
class School(models.Model):
psid = models.CharField(primary_key=True, max_length=5)
city = models.CharField(max_length=100)
class Score(models.Model):
psid = models.ForeignKey(School, max_length=5, db_column='psid')
scores = models.IntegerField(max_length=2)
我是否需要在 Scores 中添加一个额外字段,以便我既可以从原始表中导入 psid 列,又可以有一个 ForeignKey 字段通过“psid”列将 Scores 和 School 链接在一起?
感谢任何帮助。
【问题讨论】:
-
我有点困惑,您是否希望获取相关的学校对象 psid 值或为每个名为 psid 的与学校 psid 列无关的分数对象拥有另一个独立字段(顺便说一句,班级名称应该不是复数)?
-
嗨yuvi,是的,分数应该是单数。我编辑了这个问题来解决这个问题。我的目标是能够获取具有 psid 值的学校对象。在我的模板中,我显示了每所学校的分数。
-
你认为你为什么需要另一个字段?
-
获取相关模型及其信息是django ORM中一个非常基础的部分,建议大家开通
manage.py shell学习how to execute simple queries。我还建议您至少检查一次django tutorial(如果您还没有) -
@DanielRoseman 我主要担心我在初始设置中犯了错误(根据您的回复,我不是)。在 Score 中使用 db_column 应该是可以通过 psid ForeignKey 来匹配两张表吧?当我在模板中显示学校的分数信息时,psid 匹配已关闭,即。它将显示错误学校的分数。我想这可能与我的观点或模板有关。稍后我会再试一次与此相关的更具体的问题。感谢您的帮助。
标签: django import foreign-keys