我有两个型号外键关系
class Subject(models.Model):
name = models.CharField(max_length=100,choices=COURSE_CHOICES)
created = models.DateTimeField('created', auto_now_add=True)
modified = models.DateTimeField('modified', auto_now=True)
syllabus = models.FileField(upload_to='syllabus')
def __unicode__(self):
return self.name
和
class Pastquestion(models.Model):
subject=models.ForeignKey(Subject)
year =models.PositiveIntegerField()
questions = models.FileField(upload_to='pastquestions')
def __unicode__(self):
return str(self.year)
每个主题可以有一个或多个过去的问题,但过去的问题只能有一个主题。我想获得一个主题,并获得有关特定year
的相关过去问题。我正在考虑提取一个主题并获得相关的过去问题。
目前是执行我的代码,这样我更希望得到其主题和年对应于任何特定主题的过去的问题一样
this_subject=Subject.objects.get(name=the_subject)
thepastQ=Pastquestion.objects.get(year=2000,subject=this_subject)
我想有一个更好的方式来做到这一点。或者这已经是一种更好的方式?请告诉?
@Æsahættr答案也是一个很好的答案。如果问题的上下文无论如何都需要您拥有Subject对象,那将是更有效的方法。 – markdsievers