Basket.objects.filter(apples=red_apple) вернет тебе все корзины где есть красные, вне зависимости есть ли там зеленые, Basket.objects.filter(apples=red_apple).filter(apples=green_apple) вернет там где есть и красные и зеленые
Basket.objects.filter(apples=red_apple).filter(~Q(apples=red_apple)) есть еще такой вариант, попробуй, если не пройдет, то not_red = Apple.objects.exclude(type=red_apple).values_list(id, flat=True) Basket.objects.filter(apples=red_apple).filter(apples__id__in=not_red)
https://pastebin.com/T3mWjadJ , подскажие насколько костыльный этот способ формирования данных формы , а затем отправки еще одной формы которая автоматом сабмитится