summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/forms.py228
-rw-r--r--archaeological_finds/models_finds.py248
2 files changed, 456 insertions, 20 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 3073c5c23..88c25be44 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -148,7 +148,8 @@ class BaseFindForm(CustomForm, ManageOldType):
'mark', 'description', 'is_complete', 'material_type',
'material_type_quality', 'object_type', 'object_type_quality',
'find_number', 'min_number_of_individuals', 'inscription',
- 'manufacturing_place', 'communicabilitie', 'comment', 'dating_comment',
+ 'decoration', 'manufacturing_place', 'communicabilitie', 'comment',
+ 'dating_comment',
'length', 'width', 'height', 'thickness', 'diameter', 'circumference',
'volume', 'weight', 'clutter_long_side', 'clutter_short_side',
'clutter_height', 'dimensions_comment', 'checked_type', 'check_date'
@@ -833,6 +834,47 @@ DatingFormSet.form_slug = "find-040-dating"
class FindSelect(HistorySelect):
_model = models.Find
+ FORM_FILTERS = [
+ (_(u"Find origin"), [
+ "base_finds__cache_short_id",
+ "base_finds__cache_complete_id",
+ "base_finds__context_record__town",
+ "base_finds__context_record__operation__year",
+ "base_finds__context_record__operation__operation_code",
+ "base_finds__context_record__operation__code_patriarche",
+ "base_finds__context_record__operation__operation_type",
+ "base_finds__context_record__town__areas",
+ "archaeological_sites",
+ "archaeological_sites_context_record",
+ "base_finds__context_record",
+ "ope_relation_types",
+ "cr_relation_types",
+ ]),
+ (_(u"Discovery date"), [
+ "base_finds__discovery_date__before",
+ "base_finds__discovery_date__after",
+ "base_finds__discovery_date_tpq__before",
+ "base_finds__discovery_date_tpq__after",
+ "base_finds__discovery_date_taq__before",
+ "base_finds__discovery_date_taq__after"
+ ]),
+ (_(u"Dimensions"), [
+ "length__higher", "width__higher", "height__higher",
+ "thickness__higher", "diameter__higher", "circumference__higher",
+ "volume__higher", "weight__higher", "clutter_long_side__higher",
+ "clutter_short_side__higher", "clutter_height__higher",
+ "length__lower", "width__lower", "height__lower",
+ "thickness__lower", "diameter__lower", "circumference__lower",
+ "volume__lower", "weight__lower", "clutter_long_side__lower",
+ "clutter_short_side__lower", "clutter_height__lower",
+ "dimensions_comment",
+ ]),
+ (_(u"Preservation"), (
+ "integrities", "remarkabilities", "conservatory_state",
+ "alterations", "alteration_causes", "preservation_to_considers",
+ "treatment_emergency")
+ )
+ ]
form_admin_name = _(u"Find - 001 - Search")
form_slug = "find-001-search"
@@ -840,10 +882,18 @@ class FindSelect(HistorySelect):
label=_(u"Full text search"), widget=widgets.SearchWidget(
'archaeological-finds', 'find'
))
- base_finds__cache_short_id = forms.CharField(label=_(u"Short ID"))
- base_finds__cache_complete_id = forms.CharField(label=_(u"Complete ID"))
label = forms.CharField(label=_(u"Free ID"))
denomination = forms.CharField(label=_(u"Denomination"))
+ previous_id = forms.CharField(label=_(u"Previous ID"))
+ base_finds__excavation_id = forms.CharField(label=_(u"Excavation ID"))
+ seal_number = forms.CharField(label=_(u"Seal number"))
+ museum_id = forms.CharField(label=_(u"Museum ID"))
+ mark = forms.CharField(label=_(u"Mark"))
+
+ base_finds__cache_short_id = forms.CharField(
+ label=_(u"Base find - Short ID"))
+ base_finds__cache_complete_id = forms.CharField(
+ label=_(u"Base find - Complete ID"))
base_finds__context_record__town = get_town_field()
base_finds__context_record__operation__year = forms.IntegerField(
label=_(u"Year"))
@@ -878,26 +928,169 @@ class FindSelect(HistorySelect):
reverse_lazy('autocomplete-contextrecord'),
associated_model=ContextRecord),
validators=[valid_id(ContextRecord)])
- basket = forms.ChoiceField(label=_(u"Basket"), choices=[])
ope_relation_types = forms.ChoiceField(
label=_(u"Search within related operations"), choices=[])
cr_relation_types = forms.ChoiceField(
label=_(u"Search within related context records"), choices=[])
+
+ basket = forms.ChoiceField(label=_(u"Basket"), choices=[])
+
+ description = forms.CharField(label=_(u"Description"))
+ base_finds__discovery_date__after = forms.DateField(
+ label=_(u"Discovery date after"), widget=DatePicker
+ )
+ base_finds__discovery_date__before = forms.DateField(
+ label=_(u"Discovery date before"), widget=DatePicker
+ )
+ base_finds__discovery_date_tpq__after = forms.DateField(
+ label=_(u"Discovery date (exact or TPQ) after"), widget=DatePicker
+ )
+ base_finds__discovery_date_tpq__before = forms.DateField(
+ label=_(u"Discovery date (exact or TPQ) before"), widget=DatePicker
+ )
+ base_finds__discovery_date_taq__after = forms.DateField(
+ label=_(u"Discovery date (TAQ) after"), widget=DatePicker
+ )
+ base_finds__discovery_date_taq__before = forms.DateField(
+ label=_(u"Discovery date (TAQ) before"), widget=DatePicker
+ )
+ base_finds__batch = forms.ChoiceField(label=_(u"Batch/object"), choices=[])
+ is_complete = forms.NullBooleanField(label=_(u"Is complete?"))
+ material_types = forms.IntegerField(
+ label=_(u"Material type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-materialtype'),
+ associated_model=models.MaterialType),
+ )
+ material_type_quality = forms.ChoiceField(label=_(u"Material type quality"),
+ choices=[])
+ object_types = forms.IntegerField(
+ label=_(u"Object type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-objecttype'),
+ associated_model=models.ObjectType),
+ )
+ object_type_quality = forms.ChoiceField(
+ label=_(u"Object type quality"), choices=[])
+
+ find_number = forms.IntegerField(label=_(u"Find number"))
+ min_number_of_individuals = forms.IntegerField(
+ label=_(u"Minimum number of individuals (MNI)"))
+
+ manufacturing_place = forms.CharField(label=_(u"Manufacturing place"))
+ decoration = forms.CharField(label=_(u"Decoration"))
+ inscription = forms.CharField(label=_(u"Inscription"))
+
+ communicabilities = forms.ChoiceField(label=_(u"Communicability"))
+ comment = forms.CharField(label=_(u"Comment"))
+
datings__period = forms.ChoiceField(label=_(u"Period"), choices=[])
- material_types = forms.ChoiceField(label=_(u"Material type"), choices=[])
- object_types = forms.ChoiceField(label=_(u"Object type"), choices=[])
- preservation_to_considers = forms.ChoiceField(
- choices=[], label=_(u"Preservation type"))
- conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
- choices=[])
+ dating_comment = forms.CharField(label=_(u"Comment on dating"))
+
+ length__higher = FloatField(label=_(u"Length - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ length__lower = FloatField(label=_(u"Length - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ width__lower = FloatField(
+ label=_(u"Width - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ width__higher = FloatField(
+ label=_(u"Width - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ height__lower = FloatField(
+ label=_(u"Height - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ height__higher = FloatField(
+ label=_(u"Height - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ thickness__lower = FloatField(
+ label=_(u"Thickness - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ thickness__higher = FloatField(
+ label=_(u"Thickness - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ diameter__lower = FloatField(
+ label=_(u"Diameter - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ diameter__higher = FloatField(
+ label=_(u"Diameter - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ circumference__lower = FloatField(
+ label=_(u"Circumference - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ circumference__higher = FloatField(
+ label=_(u"Circumference - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ volume__lower = FloatField(label=_(u"Volume - lower than (l)"))
+ volume__higher = FloatField(label=_(u"Volume - higher than (l)"))
+ weight__lower = FloatField(
+ label=_(u"Weight - lower than (g)"),
+ widget=widgets.GramKilogramWidget)
+ weight__higher = FloatField(
+ label=_(u"Weight - higher than (g)"),
+ widget=widgets.GramKilogramWidget)
+ clutter_long_side__lower = FloatField(
+ label=_(u"Clutter long side - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_long_side__higher = FloatField(
+ label=_(u"Clutter long side - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_short_side__lower = FloatField(
+ label=_(u"Clutter short side - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_short_side__higher = FloatField(
+ label=_(u"Clutter short side - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_height__lower = FloatField(
+ label=_(u"Clutter height - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_height__higher = FloatField(
+ label=_(u"Clutter height - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ dimensions_comment = forms.CharField(
+ label=_(u"Dimensions comment"))
+
+ base_finds__topographic_localisation = forms.CharField(
+ label=_(u"Point of topographic reference"),
+ )
+ checked_type = forms.ChoiceField(label=_("Check"))
+ check_date__after = forms.DateField(
+ label=_(u"Check date after"), widget=DatePicker
+ )
+ check_date__before = forms.DateField(
+ label=_(u"Check date before"), widget=DatePicker
+ )
integrities = forms.ChoiceField(label=_(u"Integrity / interest"),
choices=[])
remarkabilities = forms.ChoiceField(label=_(u"Remarkability"),
choices=[])
- base_finds__find__description = forms.CharField(label=_(u"Description"))
- base_finds__batch = forms.ChoiceField(
- label=_(u"Batch/object"), choices=[])
- checked_type = forms.ChoiceField(label=_("Check"))
+ conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
+ choices=[])
+ alterations = forms.ChoiceField(
+ label=_(u"Alteration"), choices=[])
+ alteration_causes = forms.ChoiceField(
+ label=_(u"Alteration cause"), choices=[])
+ preservation_to_considers = forms.ChoiceField(
+ choices=[], label=_(u"Preservation type"))
+ treatment_emergency = forms.ChoiceField(
+ choices=[], label=_(u"Treatment emergency")
+ )
+
+ estimated_value__higher = FloatField(
+ label=_(u"Estimated value - higher than"))
+ estimated_value__lower = FloatField(
+ label=_(u"Estimated value - lower than"))
+ insurance_value__higher = FloatField(
+ label=_(u"Insurance value - higher than"))
+ insurance_value__lower = FloatField(
+ label=_(u"Insurance value - lower than"))
+ appraisal_date__after = forms.DateField(
+ label=_(u"Appraisal date after"), widget=DatePicker)
+ appraisal_date__before = forms.DateField(
+ label=_(u"Appraisal date before"), widget=DatePicker)
+ conservatory_comment = forms.CharField(
+ label=_(u"Conservatory comment"))
+
documents__image__isnull = forms.NullBooleanField(label=_(u"Has an image?"))
loan = forms.NullBooleanField(label=_(u"Loan?"))
treatments_file_end_date = forms.DateField(
@@ -906,10 +1099,8 @@ class FindSelect(HistorySelect):
TYPES = [
FieldType('datings__period', Period),
- FieldType('material_types', models.MaterialType),
FieldType('conservatory_state', models.ConservatoryState),
FieldType('base_finds__batch', models.BatchType),
- FieldType('object_types', models.ObjectType),
FieldType('preservation_to_considers', models.TreatmentType),
FieldType('integrities', models.IntegrityType),
FieldType('remarkabilities', models.RemarkabilityType),
@@ -917,6 +1108,11 @@ class FindSelect(HistorySelect):
FieldType('base_finds__context_record__operation__operation_type',
OperationType),
FieldType('checked_type', models.CheckedType),
+ FieldType('material_type_quality', models.MaterialTypeQualityType),
+ FieldType('object_type_quality', models.ObjectTypeQualityType),
+ FieldType('communicabilities', models.CommunicabilityType),
+ FieldType('alterations', models.AlterationType),
+ FieldType('alteration_causes', models.AlterationCauseType),
]
def __init__(self, *args, **kwargs):
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 81ac94a41..b49c4655e 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -798,8 +798,7 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms,
'base_finds__context_record__archaeological_site__name':
'base_finds__context_record__archaeological_site__name',
'datings__period': 'datings__period__pk',
- 'base_finds__find__description':
- 'base_finds__find__description__icontains',
+ 'description': 'description__icontains',
'base_finds__batch': 'base_finds__batch',
'basket_id': 'basket__pk',
'denomination': 'denomination',
@@ -914,10 +913,10 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms,
SearchAltName(
pgettext_lazy("key for text search", u"remarkability"),
'remarkabilities__label__iexact'),
- 'base_finds__find__description':
+ 'description':
SearchAltName(
pgettext_lazy("key for text search", u"description"),
- 'base_finds__find__description__iexact'),
+ 'description__iexact'),
'base_finds__batch':
SearchAltName(
pgettext_lazy("key for text search", u"batch"),
@@ -994,6 +993,247 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms,
pgettext_lazy("key for text search",
u"treatment-end-date-before"),
'treatments__file__end_date__lte'),
+ 'previous_id':
+ SearchAltName(
+ pgettext_lazy("key for text search", u"previous-id"),
+ 'previous_id__iexact'),
+ 'seal_number':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"seal-number"),
+ 'seal_number__iexact'),
+ 'base_finds__excavation_id':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"excavation-id"),
+ 'base_finds__excavation_id__iexact'),
+ 'museum_id':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"museum-id"),
+ 'museum_id__iexact'),
+ 'mark':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"mark"),
+ 'mark__iexact'),
+ 'base_finds__discovery_date__before':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"discovery-date-before"),
+ 'base_finds__discovery_date__lte'),
+ 'base_finds__discovery_date__after':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"discovery-date-after"),
+ 'base_finds__discovery_date__gte'),
+ 'base_finds__discovery_date_tpq__before':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"discovery-date-tpq-before"),
+ 'base_finds__discovery_date_tpq__lte'),
+ 'base_finds__discovery_date_tpq__after':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"discovery-date-tpq-after"),
+ 'base_finds__discovery_date_tpq__gte'),
+ 'base_finds__discovery_date_taq__before':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"discovery-date-taq-before"),
+ 'base_finds__discovery_date_taq__lte'),
+ 'base_finds__discovery_date_taq__after':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"discovery-date-taq-after"),
+ 'base_finds__discovery_date_taq__gte'),
+ 'is_complete':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"is-complete"),
+ 'is_complete'),
+ 'material_type_quality':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"material-type-quality"),
+ 'material_type_quality__label__iexact'),
+ 'object_type_quality':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"object-type-quality"),
+ 'object_type_quality__label__iexact'),
+ 'find_number':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"find-number"),
+ 'find_number'),
+ 'min_number_of_individuals':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"min-number-of-individuals"),
+ 'min_number_of_individuals'),
+ 'decoration':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"decoration"),
+ 'decoration__iexact'),
+ 'inscription':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"inscription"),
+ 'inscription__iexact'),
+ 'manufacturing_place':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"manufacturing-place"),
+ 'manufacturing_place__iexact'),
+ 'communicabilities':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"communicabilities"),
+ 'communicabilities__label__iexact'),
+ 'comment':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"comment"),
+ 'comment__iexact'),
+ 'dating_comment':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"dating-comment"),
+ 'dating_comment__iexact'),
+ 'length__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"length-lower"),
+ 'length__lte'),
+ 'width__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"width-lower"),
+ 'width__lte'),
+ 'height__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"height-lower"),
+ 'height__lte'),
+ 'thickness__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"thickness-lower"),
+ 'thickness__lte'),
+ 'diameter__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"diameter-lower"),
+ 'diameter__lte'),
+ 'circumference__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"circumference-lower"),
+ 'circumference__lte'),
+ 'volume__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"volume-lower"),
+ 'volume__lte'),
+ 'weight__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"weight-lower"),
+ 'weight__lte'),
+ 'clutter_long_side__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"clutter-long-side-lower"),
+ 'clutter_long_side__lte'),
+ 'clutter_short_side__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"clutter-short-side-lower"),
+ 'clutter_short_side__lte'),
+ 'clutter_height__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"clutter-height-lower"),
+ 'clutter_height__lte'),
+ 'length__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"length-higher"),
+ 'length__gte'),
+ 'width__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"width-higher"),
+ 'width__gte'),
+ 'height__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"height-higher"),
+ 'height__gte'),
+ 'thickness__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"thickness-higher"),
+ 'thickness__gte'),
+ 'diameter__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"diameter-higher"),
+ 'diameter__gte'),
+ 'circumference__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"circumference-higher"),
+ 'circumference__gte'),
+ 'volume__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"volume-higher"),
+ 'volume__gte'),
+ 'weight__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"weight-higher"),
+ 'weight__gte'),
+ 'clutter_long_side__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"clutter-long-side-higher"),
+ 'clutter_long_side__gte'),
+ 'clutter_short_side__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"clutter-short-side-higher"),
+ 'clutter_short_side__gte'),
+ 'clutter_height__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"clutter-height-higher"),
+ 'clutter_height__gte'),
+
+ 'dimensions_comment':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"dimensions-comment"),
+ 'dimensions_comment__icontains'),
+ 'base_finds__topographic_localisation':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"topographic-localisation"),
+ 'base_finds__topographic_localisation__iexact'),
+ 'check_date__before':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"check-date-before"),
+ 'check_date__lte'),
+ 'check_date__after':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"check-date-after"),
+ 'check_date__gte'),
+ 'alterations':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"alterations"),
+ 'alterations__label__iexact'),
+ 'alteration_causes':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"alteration-causes"),
+ 'alteration_causes__label__iexact'),
+ 'treatment_emergency':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"treatment-emergency"),
+ 'treatment_emergency__label__iexact'),
+ 'estimated_value__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"estimated-value-higher"),
+ 'estimated_value__gte'),
+ 'estimated_value__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"estimated-value-lower"),
+ 'estimated_value__lte'),
+ 'insurance_value__higher':
+ SearchAltName(
+ pgettext_lazy(u"key for text search",
+ u"insurance-value-higher"),
+ 'insurance_value__gte'),
+ 'insurance_value__lower':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"insurance-value-lower"),
+ 'insurance_value__lte'),
+ 'appraisal_date__before':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"appraisal-date-before"),
+ 'appraisal_date__lte'),
+ 'appraisal_date__after':
+ SearchAltName(
+ pgettext_lazy(u"key for text search", u"appraisal-date-after"),
+ 'appraisal_date__gte'),
}
DYNAMIC_REQUESTS = {