class Book(models.Model):
title = models.CharField(max_length=50)
authors = models.ManyToManyField(Author)
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
Предположим, я хочу получить книги, по крайней мере, двух авторов с именами Test и Tester. Итак, я продолжу с Book.objects.filter(authors__first_name='Test').filter(authors__first_name='Tester')
Что делать, если у меня есть несколько имен (длинный список) для проверки, кроме выполнения цикла for и rawsqlquery, есть ли другие варианты?
queryset = Book,objects.all()
for i in ['test','tester']:
queryset = queryset.filter(authors__first_name=i)
что, если у меня есть список dict для сравнения, например [{ 'first_name': 'test', 'last_name': 'user' }, {'first_name': 'Tester', 'last_name': 'user2'}], содержащий оба авторов с их соответствующими именами и фамилиями.
@Madmax: не могли бы вы задать новый вопрос. Это дает понять будущим читателям, какая проблема решена.
:Вот ссылка на вопрос