'Constructor.
Args:
op: A string representing the operator to use.
value: A entity_pb.Property, the property and value to compare against.
Raises:
datastore_errors.BadArgumentError if op has an unsupported value or value
is not an entity_pb.Property.'

def __init__(self, op, value):

    if (op not in self._OPERATORS):
        raise datastore_errors.BadArgumentError(('unknown    operator:    %r' % (op,)))
    if (not isinstance(value, entity_pb.Property)):
        raise datastore_errors.BadArgumentError(('value    argument    should    be    entity_pb.Property    (%r)' % (value,)))
    super(PropertyFilter, self).__init__()
    self._filter = datastore_pb.Query_Filter()
    self._filter.set_op(self._OPERATORS[op])
    self._filter.add_property().CopyFrom(value)
