簡體   English   中英

如何過濾多對多fied?

[英]how to filter a many-to-many fied?django

例:

class Person(model.Models)
  name = model.CharField(max_length=30)
  age = model.IntegerField()
class Book(model.Model)
  title = model.CharField(max_length=30)
  author = model.ManyToManyField(Person)

per1 = Person('Jack',10)
per1.save
per2 = Person('Rose',20)
per2.save
book1 = Book()
book1.title = 'booktitle'
book1.author.add(per1)
book1.author.add(per2)

現在我想像這樣獲得'book1'obj

{
  'title':'booktitle',
  'author':[
       {
         'name':'Jack',
         'age':10,
      }
   ]
}

'book1'obj中只有一位作者如何過濾相關字段? 有人可以幫助我嗎?

您可以使用:

Book.objects.filter(author="Jack").all()

您還可以過濾多個作者:

Book.objects.filter(author=["Jack", "Rose"]).all()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM