Django - 基于ForeignKey字段获取对象

时间:2016-03-17 20:26:39

标签: django foreign-keys

我需要根据一组字段获取单个模型对象,其中一个字段是ForeignKey。如果我有以下型号:

class Composer(models.Model):
    name = models.CharField()
    dates =  models.CharField()
    nationality = models.CharField()
    period = models.CharField()

class Symphony(models.Model):
    composer = models.ForeignKey('Composer', related_name="symphonies", null=True)
    date = models.CharField()
    key = models.CharField()
    number = models.IntegerField()
    num_movements = models.IntegerField()

如何根据Symphonycomposer字段检索特定的number对象?我最初的作曲家是一个简单的models.CharField(),所以我可以这样做:

Symphony.objects.get(composer='Bruckner', number=7)

那么我如何使用ForeignKey

来完成等效操作

1 个答案:

答案 0 :(得分:4)

这应该可行,但您应该始终使用唯一值:

Symphony.objects.get(composer__name='Bruckner', number=7)

Here您可以找到更多用于双下划线表示法的用法(__