Fixed #26826 -- Stripped spaces from dumpdata pks arguments
Thanks Kevin Graham Foster for the report and Tim Graham for the review.
This commit is contained in:
parent
7c33aa8a87
commit
599393172b
|
@ -78,7 +78,7 @@ class Command(BaseCommand):
|
||||||
pks = options['primary_keys']
|
pks = options['primary_keys']
|
||||||
|
|
||||||
if pks:
|
if pks:
|
||||||
primary_keys = pks.split(',')
|
primary_keys = [pk.strip() for pk in pks.split(',')]
|
||||||
else:
|
else:
|
||||||
primary_keys = []
|
primary_keys = []
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@ in the application directory, or in one of the directories named in the
|
||||||
``FIXTURE_DIRS`` setting.
|
``FIXTURE_DIRS`` setting.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import uuid
|
||||||
|
|
||||||
from django.contrib.auth.models import Permission
|
from django.contrib.auth.models import Permission
|
||||||
from django.contrib.contenttypes.fields import GenericForeignKey
|
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
@ -118,3 +120,7 @@ class Book(models.Model):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ('name',)
|
ordering = ('name',)
|
||||||
|
|
||||||
|
|
||||||
|
class PrimaryKeyUUIDModel(models.Model):
|
||||||
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
|
||||||
|
|
|
@ -20,7 +20,9 @@ from django.test import (
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils.encoding import force_text
|
from django.utils.encoding import force_text
|
||||||
|
|
||||||
from .models import Article, Category, ProxySpy, Spy, Tag, Visa
|
from .models import (
|
||||||
|
Article, Category, PrimaryKeyUUIDModel, ProxySpy, Spy, Tag, Visa,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestCaseFixtureLoadingTests(TestCase):
|
class TestCaseFixtureLoadingTests(TestCase):
|
||||||
|
@ -442,6 +444,18 @@ class FixtureLoadingTests(DumpDataAssertMixin, TestCase):
|
||||||
primary_keys='2,3'
|
primary_keys='2,3'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_dumpdata_with_uuid_pks(self):
|
||||||
|
m1 = PrimaryKeyUUIDModel.objects.create()
|
||||||
|
m2 = PrimaryKeyUUIDModel.objects.create()
|
||||||
|
output = six.StringIO()
|
||||||
|
management.call_command(
|
||||||
|
'dumpdata', 'fixtures.PrimaryKeyUUIDModel', '--pks', ', '.join([str(m1.id), str(m2.id)]),
|
||||||
|
stdout=output,
|
||||||
|
)
|
||||||
|
result = output.getvalue()
|
||||||
|
self.assertIn('"pk": "%s"' % m1.id, result)
|
||||||
|
self.assertIn('"pk": "%s"' % m2.id, result)
|
||||||
|
|
||||||
def test_dumpdata_with_file_output(self):
|
def test_dumpdata_with_file_output(self):
|
||||||
management.call_command('loaddata', 'fixture1.json', verbosity=0)
|
management.call_command('loaddata', 'fixture1.json', verbosity=0)
|
||||||
self._dumpdata_assert(
|
self._dumpdata_assert(
|
||||||
|
|
Loading…
Reference in New Issue