Skip to content

Instantly share code, notes, and snippets.

@ddemid
Created December 10, 2014 12:52
Show Gist options
  • Save ddemid/a30e4fb407a418f89d54 to your computer and use it in GitHub Desktop.
Save ddemid/a30e4fb407a418f89d54 to your computer and use it in GitHub Desktop.
def forwards(self, orm):
project_ct = orm['contenttypes.ContentType'].objects.get(app_label="pekama", model="project")
with orm.Folder.objects.disable_mptt_updates():
def assign_folder(project):
if project is None:
return project
try:
f = orm.Folder.objects.get(content_type=project.content_type, object_id=project.object_id)
f.content_type = project_ct
f.object_id = project.pk
f.parent = assign_folder(project.parent)
return f
except orm.Folder.DoesNotExist:
orm.Folder.objects.create(content_type=project_ct, object_id=project.pk, is_object_root=True, is_system=True, parent=assign_folder(project.parent))
for p in orm['pekama.Project'].objects.all():
assign_folder(p)
orm.Folder.objects.rebuild()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment