繁体   English   中英

通过 onetoone 模型字段属性过滤 django 查询集

[英]filter django queryset by onetoone model field property

我有两个模型类,它们与 OneToOneField 相关,就像这里

class Book(models.Model):
      is_user_ok = models.BooleanFiled()
class Mybook(models.Model):
      book = models.OneToOneField( Book, related_name="Book", null=True, blank=True, on_delete=models.SET_NULL)

现在我想按书籍字段属性进行查询集过滤器。 但是这里book.is_user_ok不能使用。 我怎样才能使这个查询集过滤器?

queryset = Mybook.objects.filter(book.is_user_ok=True)

您正在寻找一个常见问题,您真正想要做的是过滤器中的相关名称related_name__column_name ,您可以尝试

queryset = Mybook.objects.filter(book__is_user_ok=True=True)

来自官方文档的参考: https ://docs.djangoproject.com/en/4.0/topics/db/queries/

双下划线用于连接,因为您已经在此处设置了各种连接模型中的关系,它根据模型关系使用。

您使用了错误的语法。 (book.is_user_ok=True)替换为 ( (book__is_user_ok=True)问题是,使用 '.' 代替 '__'。 那是处理另一个模型类时的正确语法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM