• 
      

    Fix setting non-string initial data from a callable.

    Review Request #12278 — Created May 14, 2022 and submitted — Latest diff uploaded

    Information

    Django Evolution
    release-2.x

    Reviewers

    When changing a field's NULL constraint from true to false and
    setting the initial data, database evolver backends were assuming the
    data being set could be injected directly into the query in the
    database. This was often valid, but fell down for more complex types
    (like dates/datetimes).

    We now accept setting a string directly (for compatibility), but
    anything else gets turned into a %s with the value going into the SQL
    parameter list.

    This ensures that the database layer can properly pass in the data type
    in a way that the backend will like.

    Unit tests pass for all versions of Django on all database types.

    Commits

    Files