• Marc Tamlyn's avatar
    Fixed #24092 -- Widened base field support for ArrayField. · 39d95fb6
    Marc Tamlyn yazdı
    Several issues resolved here, following from a report that a base_field
    of GenericIpAddressField was failing.
    
    We were using get_prep_value instead of get_db_prep_value in ArrayField
    which was bypassing any extra modifications to the value being made in
    the base field's get_db_prep_value. Changing this broke datetime
    support, so the postgres backend has gained the relevant operation
    methods to send dates/times/datetimes directly to the db backend instead
    of casting them to strings. Similarly, a new database feature has been
    added allowing the uuid to be passed directly to the backend, as we do
    with timedeltas.
    
    On the other side, psycopg2 expects an Inet() instance for IP address
    fields, so we add a value_to_db_ipaddress method to wrap the strings on
    postgres. We also have to manually add a database adapter to psycopg2,
    as we do not wish to use the built in adapter which would turn
    everything into Inet() instances.
    
    Thanks to smclenithan for the report.
    39d95fb6
Adı
Son kayıt (commit)
Son güncelleme
..
0001_setup_extensions.py Loading commit data...
0002_create_test_models.py Loading commit data...
__init__.py Loading commit data...