general: export groups as a simple list of group names (#16317)
This commit is contained in:
parent
89c248aea3
commit
66c6b4ef01
|
@ -272,9 +272,11 @@ class Page(models.Model):
|
|||
del serialized_page['model']
|
||||
serialized_page['cells'] = json.loads(serializers.serialize('json',
|
||||
cells, use_natural_foreign_keys=True, use_natural_primary_keys=True))
|
||||
serialized_page['fields']['groups'] = [x[0] for x in serialized_page['fields']['groups']]
|
||||
for cell in serialized_page['cells']:
|
||||
del cell['pk']
|
||||
del cell['fields']['page']
|
||||
cell['fields']['groups'] = [x[0] for x in cell['fields']['groups']]
|
||||
for key in cell['fields'].keys():
|
||||
if key.startswith('cached_'):
|
||||
del cell['fields'][key]
|
||||
|
@ -283,11 +285,13 @@ class Page(models.Model):
|
|||
@classmethod
|
||||
def load_serialized_page(cls, json_page):
|
||||
json_page['model'] = 'data.page'
|
||||
json_page['fields']['groups'] = [[x] for x in json_page['fields']['groups'] if isinstance(x, basestring)]
|
||||
page, created = Page.objects.get_or_create(slug=json_page['fields']['slug'])
|
||||
json_page['pk'] = page.id
|
||||
page = [x for x in serializers.deserialize('json', json.dumps([json_page]))][0]
|
||||
page.save()
|
||||
for cell in json_page.get('cells'):
|
||||
cell['fields']['groups'] = [[x] for x in cell['fields']['groups'] if isinstance(x, basestring)]
|
||||
cell['fields']['page'] = page.object.natural_key()
|
||||
|
||||
# if there were cells, remove them
|
||||
|
|
Loading…
Reference in New Issue