两个表之间的django查询问题

两个表之间的django查询问题,django,django-queryset,Django,Django Queryset,我已经详细地读到了 但是,尽管我努力尝试django,我还是无法得到我想要的 我写了一个正向查询: ATUFS = TSFH.objects.filter(FKToUser=request.user).values('sB','sE') 这将返回: {'sB': datetime.datetime(2019, 5, 21, 18, 14, 2, 691185, tzinfo=<UTC>), 'sE': datetime.datetime(2019, 5, 21, 18, 16,

我已经详细地读到了

但是,尽管我努力尝试django,我还是无法得到我想要的

我写了一个正向查询:

ATUFS =  TSFH.objects.filter(FKToUser=request.user).values('sB','sE')
这将返回:

{'sB': datetime.datetime(2019, 5, 21, 18, 14, 2, 691185, tzinfo=<UTC>), 'sE': datetime.datetime(2019, 5, 21, 18, 16, 2, 532731, tzinfo=<UTC>)}
我如何通过Django orm实现我想要做的事情

谢谢

更新的视图/模板

这就产生了空白输出的问题

关于如何解决的任何想法。

您可以这样尝试,因为sB和sE在TSFH模型中,所以您需要将FKTOSFH放在sB和sE之前,如下所示:

TSF.objects.filter(FKToTld__dNm='123.123.13.1').values('FKToTSFH__sB','FKToTSFH__sE')

# with user

TSF.objects.filter(FKToTld__FKToUser=request.user).values('FKToTSFH__sB','FKToTSFH__sE')  # make sure user is authenticated
用法 更新2: 您可以使用检查空值是否存在:

# view
queryset = TSF.objects.filter(FKToTld__dNm='123.123.13.1', FKToTSFH__sB__isnull=False)
return ('template.html', context={'tsf': queryset})

# template

{% for i in tsf %}
    {{ i.FKToTSFH.sB }}
{% endfor %}

谢谢ruddra-如何输出第一个代码框?对不起,输出是什么意思?你的意思是想如何使用查询集?是的,我如何循环代码框1的查询集?@Jshee我在答案的更新部分分享了几个示例。请创建一个lookUse Completed=TSF.objects.filterFKToT\uu FKToUser=request.user,FKToTSFH\uu sE\uu isnull=False only。没有价值观。就像在更新2中一样
TSF.objects.filter(FKToTld__dNm='123.123.13.1').values('FKToTSFH__sB','FKToTSFH__sE')

# with user

TSF.objects.filter(FKToTld__FKToUser=request.user).values('FKToTSFH__sB','FKToTSFH__sE')  # make sure user is authenticated
from django.db.models import F

TSF.objects.filter(FKToTld__dNm='123.123.13.1').annotate(sB=F('TSFH__sB'), sE=F('FKToTSFH__sE')).values('sB','sE')
for item in TSF.objects.filter(FKToTld__dNm='123.123.13.1'):
     print(item.FKToTSFH.sB)
     print(item.FKToTSFH.sE)

for item in TSF.objects.filter(FKToTld__dNm='123.123.13.1').values('FKToTSFH__sB', 'FKToTSFH__sE'):
  print(item.get('FKToTSFH__sB'))
  print(item.get('FKToTSFH__sE'))

for (sB, sE) in TSF.objects.filter(FKToTld__dNm='123.123.13.1').values_list('FKToTSFH__sB', 'FKToTSFH__sE'):
  print(sB)
  print(sE)
# view
queryset = TSF.objects.filter(FKToTld__dNm='123.123.13.1', FKToTSFH__sB__isnull=False)
return ('template.html', context={'tsf': queryset})

# template

{% for i in tsf %}
    {{ i.FKToTSFH.sB }}
{% endfor %}