Skip to content

Instantly share code, notes, and snippets.

@guyjacks
Created September 24, 2018 00:24
Show Gist options
  • Save guyjacks/e01d82c52e27e08d35bfd979ddb001d8 to your computer and use it in GitHub Desktop.
Save guyjacks/e01d82c52e27e08d35bfd979ddb001d8 to your computer and use it in GitHub Desktop.
def parse_intersection(self, filters):
first_filter = filters[0]['gene']
second_filter = filters[1]['gene']
print('filters', first_filter, second_filter)
# Doesn't work - seems to ignore one of the Qs
#qs = Rule.objects.filter(Q(gene_traits__pk=first_filter) and Q(gene_traits__pk=second_filter))
# Doesn't work - seems to ignore one of the filters. This should be the same as the query below.
#qs = Rule.objects.filter(gene_traits__pk=first_filter)
#qs.filter(gene_traits__pk=second_filter)
# Works
qs = Rule.objects.filter(gene_traits__pk=first_filter).filter(gene_traits__pk=second_filter)
return qs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment