from copy import copy

from patch.include import *


@app_context(commit=True)
def patch():
    """
    Генерируем nested связи
    :return:
    """
    for group in models.CmfPersonGroup.list(fields=['rg_members']):
        rg_members = copy(group.rg_members._value)
        group.rg_members = []
        group.save()
        group.rg_members = rg_members
        group.save()

    for project in models.CmfProject.list(fields=['executors']):
        executors = copy(project.executors._value)
        project.executors = []
        try:
            project.save()
            project.executors = executors
            project.save()

        except:
            project.code = None
            project.save()


if __name__ == "__main__":
    patch
