我需要根据一组字段获取单个模型对象,其中一个字段是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()
如何根据Symphony
和composer
字段检索特定的number
对象?我最初的作曲家是一个简单的models.CharField()
,所以我可以这样做:
Symphony.objects.get(composer='Bruckner', number=7)
那么我如何使用ForeignKey
?
答案 0 :(得分:4)
这应该可行,但您应该始终使用唯一值:
Symphony.objects.get(composer__name='Bruckner', number=7)
Here您可以找到更多用于双下划线表示法的用法(__
)