我有一个Django应用程序,一个旅行者“请求”当地人带他出去旅游。出去之后,他们会给对方留一个参考资料,告诉对方他们是否玩得开心,以及一些书面描述。在
在主页上,我想自动显示最后两个请求,旅行者和当地人已经见面,并为彼此留下参考。在
目前数据来自人口脚本。在
这是请求模型:
class Request(models.Model):
"""traveler requests local to take her out upon liking her profile"""
traveler = models.ForeignKey(User, related_name='traveler_requests')
local = models.ForeignKey(User, related_name='local_requested')
message = models.CharField(max_length=500)
date = models.DateField()#date of excursion
local_approval = models.BooleanField(blank=True)
这是参考模型:
^{pr2}$这是我实现我想要的目标的尝试:
reqs = Request.objects.filter(local_approval=True).order_by('-date')[:2]
for i in range(len(reqs)):
local_references_traveler = Reference.objects.filter(fun=True, author=reqs[i].local, referenced=reqs[i].traveler, local=True).latest()
traveler_references_local = Reference.objects.filter(fun=True, author=reqs[i].traveler, referenced=reqs[i].local, local=False).latest()
然而,这通常会返回最后两个请求(按日期),我希望返回最后两个请求,其中两个请求都为彼此留下了一个引用,并提取这些引用。在
唯一可行的方法是在填充脚本中填充大量引用,使应用看起来很糟糕。在
谢谢!在
你必须重构你的模型,最好的方法是用“请求”建立“引用”一对一的关系,如下所示:
那么你可以试试这个:
^{pr2}$或者,你可以提出一个简单的请求:
然后可以创建注释子句:
。。。有了这个,你可以得到请求.id“两个参考。在
相关问题 更多 >
编程相关推荐