我的模型如下(Milestone
和Ticket
)
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
表数据(票据和里程碑之间的连接)我的问题是
Ticket.objects.filter(project_id=10).select_related('milestone').values_list()
但这只是从
Ticket
模型中获取所有数据。为什么模型的数据不返回?这里怎么了?请帮帮我是新来的 最佳答案
使用select_related
可以缓存与当前Milestone
对象关联的Ticket
对象,而不是检索其数据。
你可以试试:
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'), ...)
然后,结果queryset中的对象将具有
m_title
属性。tickets[0].m_title
关于python - Django select_related不返回外部表数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32703316/