Changes between Initial Version and Version 1 of Ticket #24012, comment 4


Ignore:
Timestamp:
Dec 18, 2014, 6:50:32 AM (10 years ago)
Author:
JorisBenschop

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #24012, comment 4

    initial v1  
    11If you look here: [https://github.com/django/django/blob/108b8bf852c76855ed98f5abe55db1da845598e7/django/db/models/fields/__init__.py#L2261 here] you see that `models.UUIDfield` forces data to fit into uuid.UUID even when the DB allows other formats also.  This check, and the requirement to store the content of the UUIDfield in a uuid.UUID object is the main issue.
    22
    3 the `value` is a 4096bit binary . I cannot print it (thats the whole point of this ticket). I can convert to hex but then the foreign keys (of course) no longer work.
     3the `value` is a 32x16bit binary . I cannot print it directly (thats the whole point of this ticket). I can convert to hex:  0a6ce74693a906b6e0535799030a228e (but then the foreign keys (of course) no longer work).  The check by UUID is:
     4{{{
     5if len(hex) != 32:
     6   raise ValueError('badly formed hexadecimal UUID string')
     7}}}
     8if I do
     9{{{
     10>>>hex
     11'\nl\xe7F\x93\xa9\x06\xb6\xe0SW\x99\x03\n"\x8e'
     12>>>len(hex)
     1316
     14>>>binascii.b2a_hex(hex)
     15'0a6ce74693a906b6e0535799030a228e'
     16>>>len(binascii.b2a_hex(hex))
     1732
     18}}}
     19
Back to Top