为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用PostgreSQL从Django中的两个表中检索数据

如何使用PostgreSQL从Django中的两个表中检索数据

沧海一幻觉 2021-04-28 07:01:24
在我的views.py中,这是我的代码:def search(request):qset = Q()query = request.GET.get('q', '')queryC = request.GET.get('clients', '')queryD = request.GET.get('documents', '')queryT = request.GET.get('topics', '')if query:    newquery = stopwords.strip_stopwords(query)    terms = newquery.split()    if queryT != 'empty':        for term in terms:            qset |= (                Q(Topic_id__Name__icontains=queryT) &                Q(Question_id__Statement__icontains=term)            )        results = Response.objects.filter(qset).distinct()    else:        for term in terms:            qset &= (                Q(Question_id__Statement__icontains=term)            )        results = Response.objects.filter(qset).distinct()else:    results = []return render_to_response("app/search.html", {    "results": results,    "query": query})models.py:class Question(models.Model):    Topic_id = models.ForeignKey(Topic, on_delete=models.CASCADE)    Statement = models.CharField(max_length=255, default='Question')    Keyword = models.CharField(max_length=255, default='Keyword')    def __str__(self):        return self.Statementclass Response(models.Model):    Question_id = models.ForeignKey(Question, on_delete=models.CASCADE)    Topic_id = models.ForeignKey(Topic, on_delete=models.CASCADE)    Response = models.TextField(default='Response')    def __str__(self):        return self.Response它从用户输入中返回与查询紧密相关的响应。但我也希望它返回与响应相关的问题。我的答复表具有到由Questions_id链接的问题表的外键。我已经读过我可能不得不使用select_related(),但不确定如何使用。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号