如何查找字段最相似的对象



这是我定义的模型:

class Book(models.Model):
authors = models.ManyToManyField(to='Author')
category = models.ForeignKey(to='Category')
tags = models.ManyToManyField(to='tags')
# some other fields

我如何找到在这三个领域(作者、类别、标签(与特定对象最相似的十本书?

例如,如果我有以下书籍对象:

Book:
title: Harry Potter
authors: J. K. Rowling
category: Novel
tags: Fantasy Fiction, Drama, Young adult fiction, Mystery, Thriller

我想将具有最匹配的作者、类别和标签字段的图书对象返回到哈利波特图书。

我的问题几乎是这样的,但我正在寻找一个更清晰的答案。

我认为您需要导入Q从django.db模型导入Q

Book.objects.filter(Q(tags='Fantasy Fiction')|Q(tags='Young adult fiction')|Q(tags ='Mystery'),category='Novel',authors='J. K. Rowling')

相关内容

  • 没有找到相关文章

最新更新