• 
      

    Add new choices, operators, and values for models and "is not one of".

    Review Request #8331 — Created Aug. 15, 2016 and submitted

    Information

    Djblets
    release-0.10.x
    c593066...

    Reviewers

    This introduces a new set of choices and values for working with
    database models, and a new operator for working with "is not one of"
    checks.

    The choices and values make it easy to set up conditions that check
    against the database in some form. The values can be supplied with a
    queryset or a callable returning a queryset. The choice can be supplied
    with a queryset or the subclass can override get_queryset(). Combined
    with the new support for attaching extra state the conditions widget
    and choices, this allows for much more specialized queries that take
    into account things like access permissions for database objects.

    A new operator, IsNotOneOfOperator, was also added for checking if an
    item is not in a list of other items. This is the opposite of
    OneOfOperator, which has been renamed to IsOneOfOperator for
    consistency.

    Unit tests pass.

    Used the new conditions, operators, and values in some upcoming changes
    for Review Board.

    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          djblets/conditions/values.py
          djblets/conditions/operators.py
          djblets/conditions/choices.py
          djblets/conditions/tests/test_values.py
          djblets/conditions/tests/test_operators.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          djblets/conditions/values.py
          djblets/conditions/operators.py
          djblets/conditions/choices.py
          djblets/conditions/tests/test_values.py
          djblets/conditions/tests/test_operators.py
      
      
    2. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.10.x (35dba33)