def query(self, value, prefix=None): if not value is None: lookup_type, lookup_value = value lookup_fieldname = self.model_field.get_attname() if not prefix is None: lookup_fieldname = prefix + '__' + lookup_fieldname from models import UncertainDateTimeField as UncertainDateTimeModelField if lookup_type == 'maybe_during': return UncertainDateTimeModelField.get_maybe_sametime_q(lookup_value, lookup_fieldname) elif lookup_type == 'maybe_before': return UncertainDateTimeModelField.get_maybe_before_q(lookup_value, lookup_fieldname) elif lookup_type == 'maybe_after': return UncertainDateTimeModelField.get_maybe_after_q(lookup_value, lookup_fieldname) elif lookup_type == 'maybe_between': q = UncertainDateTimeModelField.get_maybe_after_q(lookup_value[0], lookup_fieldname) q &= UncertainDateTimeModelField.get_maybe_before_q(lookup_value[1], lookup_fieldname) return q elif lookup_type == 'before': return UncertainDateTimeModelField.get_definite_before_q(lookup_value, lookup_fieldname) elif lookup_type == 'after': return UncertainDateTimeModelField.get_definite_after_q(lookup_value, lookup_fieldname) elif lookup_type == 'between': q = UncertainDateTimeModelField.get_definite_after_q(lookup_value[0], lookup_fieldname) q &= UncertainDateTimeModelField.get_definite_before_q(lookup_value[1], lookup_fieldname) return q return Q()
def test_maybe_after_q(self): # just testing for exception-throwing for now UncertainDateTimeModelField.get_maybe_after_q(self.blank, 'fieldname') UncertainDateTimeModelField.get_maybe_after_q(self.just_year, 'fieldname') UncertainDateTimeModelField.get_maybe_after_q(self.date, 'fieldname') UncertainDateTimeModelField.get_maybe_after_q(self.time, 'fieldname') UncertainDateTimeModelField.get_maybe_after_q(self.full, 'fieldname') UncertainDateTimeModelField.get_maybe_after_q(self.leap_year, 'fieldname')