-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathfilters.py
109 lines (81 loc) · 2.38 KB
/
filters.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import django_filters
from django_filters import rest_framework as filters
from viewer.models import (
CanonSite,
CanonSiteConf,
Compound,
QuatAssembly,
SiteObservation,
Snapshot,
XtalformSite,
)
class SnapshotFilter(filters.FilterSet):
session_project = django_filters.CharFilter(
field_name="session_project", lookup_expr="id"
)
session_project__isnull = django_filters.BooleanFilter(
field_name="session_project", lookup_expr="isnull"
)
class Meta:
model = Snapshot
fields = [
"id",
"type",
"title",
"author",
"description",
"created",
"data",
"session_project",
"parent",
"children",
]
class TargetFilterMixin(filters.FilterSet):
target = filters.CharFilter(
label="Target ID",
field_name="target",
)
class SiteObservationFilter(TargetFilterMixin):
class Meta:
model = SiteObservation
fields = ("target",)
class CanonSiteFilter(TargetFilterMixin):
class Meta:
model = CanonSite
fields = ("target",)
class CanonSiteConfFilter(TargetFilterMixin):
class Meta:
model = CanonSiteConf
fields = ("target",)
class XtalformSiteFilter(TargetFilterMixin):
class Meta:
model = XtalformSite
fields = ("target",)
class VectorFilter(TargetFilterMixin):
class Meta:
model = SiteObservation
fields = ("id", "target", "cmpd", "smiles", "site_observation_groups")
class GraphFilter(TargetFilterMixin):
class Meta:
model = SiteObservation
fields = ("target", "cmpd", "smiles", "site_observation_groups")
class MolpropsFilter(TargetFilterMixin):
class Meta:
model = Compound
fields = ("target", "smiles", "inchi")
class MolImgFilter(TargetFilterMixin):
class Meta:
model = SiteObservation
fields = ("target", "cmpd", "smiles", "site_observation_groups")
class CmpdImgFilter(TargetFilterMixin):
class Meta:
model = Compound
fields = ("target", "smiles")
class CompoundFilter(TargetFilterMixin):
class Meta:
model = Compound
fields = ("smiles", "current_identifier", "inchi")
class AssemblyFilter(TargetFilterMixin):
class Meta:
model = QuatAssembly
fields = ("target",)