#29747: Django 2.1.1 : UUID in loaddata fixture raise ValidationError on objects
having OneToOne relationship (uuid as FK).
-------------------------------------+-------------------------------------
               Reporter:             |          Owner:  nobody
  stockersky                         |
                   Type:             |         Status:  new
  Uncategorized                      |
              Component:  Testing    |        Version:  2.1
  framework                          |       Keywords:  uuid fixture
               Severity:  Normal     |  loaddata OneToOne
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 Hello,

 I was working on my django project with version 2.0.
 Today I redeployed my development environment and installed the lastest
 Django version through pip : 2.1.1

 While loading my database fixture to populate it (python manage.py
 loaddata data_fixture.json), it raised :


 {{{
 Traceback (most recent call last):
   File "/PROJECTS/SOFTWARES/pvenvs/cvdjango/lib/python3.6/site-
 packages/django/db/models/fields/__init__.py", line 2325, in to_python
     return uuid.UUID(value)
   File "/PROJECTS/SOFTWARES/python366/lib/python3.6/uuid.py", line 140, in
 __init__
     raise ValueError('badly formed hexadecimal UUID string')
 ValueError: badly formed hexadecimal UUID string

 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "/PROJECTS/SOFTWARES/pvenvs/cvdjango/lib/python3.6/site-
 packages/django/core/serializers/python.py", line 100, in Deserializer
     data[Model._meta.pk.attname] = Model._meta.pk.to_python(d.get('pk'))
   File "/PROJECTS/SOFTWARES/pvenvs/cvdjango/lib/python3.6/site-
 packages/django/db/models/fields/related.py", line 874, in to_python
     return self.target_field.to_python(value)
   File "/PROJECTS/SOFTWARES/pvenvs/cvdjango/lib/python3.6/site-
 packages/django/db/models/fields/__init__.py", line 2330, in to_python
     params={'value': value},
 django.core.exceptions.ValidationError: ["La valeur «\xa020\xa0» n'est pas
 un UUID valide."]

 ......................

  raise base.DeserializationError.WithData(e, d['model'], d.get('pk'),
 None)
 django.core.serializers.base.DeserializationError: Problem installing
 fixture
 '/PROJECTS/CODE/cv_project/cv_frontend/fixtures/data_fixture.json': ["La
 valeur «\xa020\xa0» n'est pas un UUID valide."]:
 (cv_frontend.PersonalInfo:pk=20) field_value was 'None'

 }}}

 I flushed migrations, dropper/recreate database and ran migrations again.
 Still has the error...

 I could actually still create the object having uuid as PK in the admin
 console and link other objects to it.


 == Then I began to delete objects in my fixture file and try to run again
 loaddata : when I deleted every fixture object that had OneToOne
 relationship, it passed!!!

 I finally rolled back to Django 2.0 and could run the whole fixture with
 no problem!

 Does it sound like a bug?

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29747>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/053.07a9ffa37bafe523fdf66dba88185420%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to