在Django模型中过滤ForeignKey

时间:2013-09-18 23:57:21

标签: python django model filter

class Wod(models.Model):
    title = models.CharField(max_length=50)
    workout = models.CharField(max_length=250)
    pub_date = models.DateTimeField('date published')
    def __unicode__(self): 
        return self.title
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    was_published_recently.short_description = 'Published recently?'

class Score_Choice(models.Model):
    wod = models.ForeignKey(Wod)
    choice_text = models.CharField(max_length=200)
    def __unicode__(self): 
        return self.choice_text

class Score(models.Model):
    wod = models.ForeignKey(Wod)
    user = models.ForeignKey(User)
    performed_date = models.DateTimeField('date performed')
    **type = Score_Choice.objects.filter(Score_Choice__wod = 'wod')** 

    score = models.IntegerField()

我有一个带有Wods的模型,由Score_Choice引用,为每个Wod分配不同类型的可能分数。

在记录分数时,我希望能够参考该可用的分数。

所需的功能是这样的,当输入分数时,我选择我将输入分数的wod,然后我将获得该Wod所需的不同种类的分数。

1 个答案:

答案 0 :(得分:0)

我猜你通过ajax或者其他东西发送了一个选定的id的id,然后你需要一个查询来读取相关的分数选择。关键是使用后缀“_id”。

  

Score_Choice.objects.filter(wod_id = 123)