GitHub

layout api-command
language Python
permalink api/python/not/
command ~, not_
related_commands
==, eq !=, ne

eq/

ne/

Command syntax

{% apibody %} bool.not_() → bool not_(bool) → bool (~bool) → bool {% endapibody %}

Description

Compute the logical inverse (not) of an expression.

not_ can be called either via method chaining, immediately after an expression that evaluates as a boolean value, or by passing the expression as a parameter to not_. All values that are not False or None will be converted to True.

You may also use ~ as a shorthand operator.

Example: Not true is false.

r.not_(True).run(conn)
r.expr(True).not_().run(conn)
(~r.expr(True)).run(conn)

These evaluate to false.

Note that when using ~ the expression is wrapped in parentheses. Without this, Python will evaluate r.expr(True) first rather than using the ReQL operator and return an incorrect value. (~True evaluates to −2 in Python.)

Example: Return all the users that do not have a "flag" field.

r.table('users').filter(
    lambda users: (~users.has_fields('flag'))
).run(conn)

Example: As above, but prefix-style.

r.table('users').filter(
    lambda users: r.not_(users.has_fields('flag'))
).run(conn)

Read the original on github.com ↗