gpt4 book ai didi

python - Django select_related 不返回外表数据

转载 作者:行者123 更新时间:2023-11-29 13:26:40 25 4
gpt4 key购买 nike

我的模型如下相关(MilestoneTicket)

class Ticket(models.Model):
create_date = models.DateTimeField('date created')
project = models.ForeignKey(Project)
milestone = models.ForeignKey(Milestone)
title = models.CharField(max_length=200)
priority = models.IntegerField()
estimate = models.CharField(max_length=100)

class Milestone(models.Model):
project = models.ForeignKey(Project)
title = models.CharField(max_length=200)
description = models.TextField()
budget = models.IntegerField()

我想从 Ticket 模型中获取所有数据以及相应的 Milestone 表数据(JOIN Between Ticket & Milestone)我的查询是

Ticket.objects.filter(project_id=10).select_related('milestone').values_list()

但这只是从 Ticket 模型中获取所有数据。为什么 Milestone 模型的数据没有返回?这里有什么问题?请帮助我是 Django 的新手

最佳答案

使用 select_related 您正在缓存与当前 Ticket 对象关联的 Milestone 对象,而不是检索其数据。

你可以试试:

from django.db.models import F

tickets = Ticket.objects.filter(project_id=10).select_related('milestone').annotate(m_title=F('milestone__title'), m_description=F('milestone__description'), ...)

然后,结果查询集中的对象将具有 m_title 属性。

tickets[0].m_title

关于python - Django select_related 不返回外表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com