如何在 Django 中两次在查询中使用过滤器

     2023-02-16     53

关键词:

【中文标题】如何在 Django 中两次在查询中使用过滤器【英文标题】:how to use filter in query twice in django 【发布时间】:2022-01-11 13:42:38 【问题描述】:

我正在尝试使用此查询过滤一些数据,

get_members = PaymentDetails.objects.filter(participants_name=Participants.objects.filter(participants_name=Profile.objects.get(user=request.user)))

但我收到此错误精确查找的 QuerySet 值必须限制为使用切片的一个结果。我的模型看起来像这样

class Committee(models.Model):
    committee_creator = models.ForeignKey(Profile, on_delete=models.CASCADE)
    committee_name = models.CharField(max_length=100)

class Participants(models.Model):
    participants_name = models.ForeignKey(Profile, on_delete=models.CASCADE)
    participants_committee_name = models.ForeignKey(Committee, on_delete=models.CASCADE)
   
class PaymentDetails(models.Model):
    participants_name = models.ForeignKey(Participants, on_delete=models.CASCADE)
    participants_paid_status = models.BooleanField(default=False)
    participants_amount_paid = models.IntegerField()

【问题讨论】:

【参考方案1】:

试试这个我会假设你在UserProfile之间有OneToOne关系。

get_members = PaymentDetails.objects.filter(participants_name__participants_name_id = request.user.profile.pk)

【讨论】:

我在数据库中有两个结果,但它只显示其中一个已登录的用户, @faizkhan 您想为所有用户获取吗?您显示的代码仅适用于当前用户。 我想获取所有属于 paymentdetails 模型的用户 @faizkhan 试试这个PaymentDetails.objects.all().values_list('participants_name__participants_name__user',flat=True)

在同一个查询中两次使用 UNPIVOT

】在同一个查询中两次使用UNPIVOT【英文标题】:UsingUNPIVOTtwiceinthesamequery【发布时间】:2022-01-1816:49:42【问题描述】:您好,我遇到了以下问题:我有一个大约1600行的表,其结构如下:StoreID|Target1|Target2|Target3|Date1|Date2|Date3101|X|Y|... 查看详情

如何在同一列或不同列的一个sql语句中两次使用'BETWEEN'条件

】如何在同一列或不同列的一个sql语句中两次使用\\\'BETWEEN\\\'条件【英文标题】:howtouse\'BETWEEN\'condetiontwotimesinonesqlstatementforsamecolumnordiffrentcolumns如何在同一列或不同列的一个sql语句中两次使用\'BETWEEN\'条件【发布时间】:2011-05-... 查看详情

SQL 查询优化:在事实表中两次使用相同指标的最佳方法是啥?

】SQL查询优化:在事实表中两次使用相同指标的最佳方法是啥?【英文标题】:SQLQueryOptimization:whatisthebestapproachtousesamemetrictwiceinthefacttable?SQL查询优化:在事实表中两次使用相同指标的最佳方法是什么?【发布时间】:2020-02-2618:... 查看详情

在一个查询中两次从同一个表中提取时出现问题

】在一个查询中两次从同一个表中提取时出现问题【英文标题】:Troublepullingfromthesametabletwiceinonequery【发布时间】:2021-03-0517:05:56【问题描述】:对不起,如果这个标题措辞奇怪。我正在处理一个查询,该查询会提取在某个地方... 查看详情

在选择查询中两次调用用户定义的函数会导致效率低下吗?

】在选择查询中两次调用用户定义的函数会导致效率低下吗?【英文标题】:Doescallingauserdefinedfunctiontwiceinselectqueryleadtoinefficiency?【发布时间】:2016-10-1007:14:18【问题描述】:我有一个简单的表格,用于存储人们的生日。我还有... 查看详情

React:如何在页面中两次渲染组件?

】React:如何在页面中两次渲染组件?【英文标题】:React:Howtorenderacomponenttwiceinapage?【发布时间】:2018-01-2605:38:50【问题描述】:我在ReactmyComponent.js中有一个组件构建ReactDOM.render(<MyComponent/>,document.getElementById(\'my-id\'));在我... 查看详情

如何使用 Django Rest 过滤器限制查询结果

】如何使用DjangoRest过滤器限制查询结果【英文标题】:HowtolimitqueryresultswithDjangoRestfilters【发布时间】:2016-02-0321:19:04【问题描述】:我正在开发一个使用DjangoRestFramework构建的api。我已经定义了几个model类,并且我还创建了一些... 查看详情

如何在 Django 查询集过滤中执行不等于?

】如何在Django查询集过滤中执行不等于?【英文标题】:HowdoIdoanotequalinDjangoquerysetfiltering?【发布时间】:2010-10-1519:06:52【问题描述】:在Django模型QuerySets中,我看到有一个__gt和__lt用于比较值,但是有一个__ne或!=(不等于)?我... 查看详情

如何在 django 中过滤查询集的多对多

】如何在django中过滤查询集的多对多【英文标题】:HowtofiltertheManyToManyofaquerysetindjango【发布时间】:2020-04-3020:00:46【问题描述】:我有两个模型,问题及其答案,我想获取所有问题以及一个单一答案,即具有该问题的支持者人... 查看详情

如何使用`django-filters`编写将在整数字段上使用范围过滤器的GraphQL查询?

】如何使用`django-filters`编写将在整数字段上使用范围过滤器的GraphQL查询?【英文标题】:HowtowriteaGraphQLquerythatwillusearangefilteronanintegerfieldusing`django-filters`?【发布时间】:2021-01-1708:38:22【问题描述】:我在我的GraphQLAPI中使用graphe... 查看详情

在php中两次调用相同的函数时出错

】在php中两次调用相同的函数时出错【英文标题】:errorincallingsamefunctiontwiceinphp【发布时间】:2015-11-2207:12:15【问题描述】:我有一个名为record_list()的函数,它可以帮助我在每次刷新/访问页面时回显从数据库中提取的查询。我... 查看详情

如何在一个 submitHandler 中两次更新反应状态

】如何在一个submitHandler中两次更新反应状态【英文标题】:HowtoupdatereactstatetwiceinonesubmitHandler【发布时间】:2018-10-2218:00:45【问题描述】:我想在React中提交一个表单,我试图用一个submitHandler更新状态两次。第二次更新依赖于第... 查看详情

如何在 Django 中动态组合 OR 查询过滤器?

】如何在Django中动态组合OR查询过滤器?【英文标题】:HowtodynamicallycomposeanORqueryfilterinDjango?【发布时间】:2010-10-2513:01:08【问题描述】:从一个例子你可以看到一个多重OR查询过滤器:Article.objects.filter(Q(pk=1)|Q(pk=2)|Q(pk=3))例如,... 查看详情

在 Postgres DB 中使用大量 id 的 Django 查询过滤器

】在PostgresDB中使用大量id的Django查询过滤器【英文标题】:DjangoqueryfilterusinglargearrayofidsinPostgresDB【发布时间】:2018-03-2520:46:42【问题描述】:我想将Django中的查询传递给我的PostgreSQL数据库。当我使用大量id过滤查询时,查询速... 查看详情

如何在 Codeigniter 中两次加入同一个表并分配表别名?

】如何在Codeigniter中两次加入同一个表并分配表别名?【英文标题】:HowtojointhesametabletwiceandassigntablealiasesinCodeigniter?【发布时间】:2012-02-2719:49:57【问题描述】:我正在尝试使用PyroCms在Codeigniter中创建一个邮件系统。在我的邮件... 查看详情

在 Django 框架中读取过滤器查询集

】在Django框架中读取过滤器查询集【英文标题】:ReadingFilterquerysetinDjangoframework【发布时间】:2022-01-2204:31:15【问题描述】:我对Django非常陌生,我正在尝试返回通过在Django中的特定站点销售汽车所获得的总收入总和。我已经尝... 查看详情

如何使用动态过滤器制作 django 查询集?

】如何使用动态过滤器制作django查询集?【英文标题】:Howtomakedjangoquerysetswithdynamicfilters?【发布时间】:2015-06-2017:21:20【问题描述】:所以基本上我在Django中有一个网站,它是一个店面,最终用户可以使用三个过滤器。产品类... 查看详情

如何在 Django 的 ModelForm 中使用请求

...述】:我想创建一个查询集,将当前用户用作ModelForm中的过滤器:classBookSubmitForm(ModelForm):book=forms.ModelChoiceField(queryset=Book.objects.filte 查看详情