You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中查询指定名称或关联Restaurant的Place对象?

Django 一对一关联查询解决方案

要获取名称为'foo'的Place对象,或关联了Restaurant的Place对象,可通过Django的Q对象实现或逻辑的组合查询,最终返回单个QuerySet,代码如下:

from django.db.models import Q
from .models import Place

# 组合查询条件:名称为'foo' 或 已关联Restaurant
target_places = Place.objects.filter(
    Q(name='foo') | Q(restaurant__isnull=False)
)

代码说明:

  • Q对象是Django实现复杂查询逻辑的核心工具,|符号代表**或(OR)**关系
  • Q(name='foo'):精准匹配name字段为'foo'的Place实例
  • Q(restaurant__isnull=False):利用一对一关联的反向查询(默认反向关联名为模型小写restaurant),筛选出所有存在关联Restaurant记录的Place对象
  • 最终返回的target_places是标准Django QuerySet,可直接用于django-ninja接口的响应输出

内容的提问来源于stack exchange,提问作者dfrankow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:30:55