我无法理解如何使用 Django 中的表/模型结构来执行有用的查询。
我想做的是:给定 Show 对象的主键,获取演出中所有字符的集合。
我的模型如下:
class Location(models.Model):
identifier = models.CharField(max_length=200)
def __str__(self):
"""String for representing the Model object."""
return self.identifier
class Character(models.Model):
identifier = models.CharField(max_length=200)
def __str__(self):
"""String for representing the Model object."""
return self.identifier
class Show(models.Model):
name = models.CharField(max_length=200)
shorthand = models.CharField(max_length=2, unique=True)
def __str__(self):
"""String for representing the Model object."""
return self.shorthand
class Season(models.Model):
number = models.IntegerField()
show = models.ForeignKey(Show, on_delete=models.SET_NULL, null=True, related_name="seasons")
class Meta:
unique_together = (("number", "show"))
def __str__(self):
"""String for representing the Model object."""
return (str(self.show) + "s" + str(self.number))
class Episode(models.Model):
number = models.IntegerField()
season = models.ForeignKey(Season, on_delete=models.SET_NULL, null=True, related_name="episodes")
class Meta:
unique_together = (("number", "season"))
def __str__(self):
"""String for representing the Model object."""
return (str(self.season) + "ep" + str(self.number))
这看起来很基本,但我还没有破解如何通过外键回溯或其他方法来下降模型。我尝试过使用prefetch_lated但我想我对什么是 QuerySet 与对象感到困惑。我因需要执行的降序调用数量而推迟,Django 中肯定有更紧凑/简洁的方法吗?我还考虑过向角色模型添加外键,但很确定我最终会遇到同样的问题。
一只名叫tom的猫
相关分类