python - 如何通过外键获取数据
问题描述
我已经多次看到这个问题,但是当我尝试他们的解决方案时它不起作用。
我有两个模型,联赛有(MLB,NCAAB,NBA,NFL)作为选项,然后我有团队,它拥有所有联赛的所有球队,每支球队都有一个联赛作为外键。
如何在我的视图中为某个联赛下的所有球队创建一个变量?比如,ncaab=Team.objects.select_related('NCAAB')?我知道那是行不通的,它只是为了让我知道我需要什么。
class League(models.Model):
leagues = (
('MLB', ('MLB')),
('NBA', ('NBA')),
('NCAAB', ('NCAAB')),
('NFL', ('NFL')),
)
name = models.CharField(
max_length=10, choices=leagues, null=False, blank=False)
def __str__(self):
return self.name
class Team(models.Model):
name = models.CharField(max_length=100, null=False, blank=False)
abbreviation = models.CharField(max_length=10, null=False, blank=False)
league = models.ForeignKey(
'League', null=False, blank=False, on_delete=models.CASCADE)
def __str__(self):
return self.name
解决方案
我找到了答案等待回复。
团队 = Team.objects.filter(league__name='NCAAB')
在这里找到它: https ://docs.djangoproject.com/en/3.1/topics/db/examples/many_to_one/
推荐阅读
- android - 由于重复类,我的应用程序无法编译
- python - 为什么我不能使用 PostgreSQL 运行我的 Django 项目?
- ruby-on-rails - 尝试在 ruby 中读取 mp3 文件
- javascript - 我正在检查 HTML 表单中的字段是否为空,但只执行第一个“if”语句,然后刷新页面
- c++ - 为什么不能在没有可变参数的情况下在 lambda 内部转发参数?
- c# - 命名参数后的状态参数参数
- c - OpenSSL EVP 创建不正确的哈希值
- c++ - 如何使用 OpenSSL 安装使 QSslSocket 支持 SSL?
- html - 如何在 emacs 导出的 HTML 中集成图像(通过本地路径设置)?
- batch-file - 后藤是意外的时间