我有兩個型號外鍵關係
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