django-helpdesk/helpdesk/migrations/0003_initial_data_import.py

43 lines
1.1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
import os
from sys import path
from django.db import models, migrations
from django.core import serializers
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures'))
fixture_filename = 'emailtemplate.json'
def deserialize_fixture():
fixture_file = os.path.join(fixture_dir, fixture_filename)
with open(fixture_file, 'rb') as fixture:
return list(serializers.deserialize('json', fixture, ignorenonexistent=True))
def load_fixture(apps, schema_editor):
objects = deserialize_fixture()
for obj in objects:
obj.save()
def unload_fixture(apps, schema_editor):
2016-10-21 17:14:12 +02:00
"""Delete all EmailTemplate objects"""
objects = deserialize_fixture()
EmailTemplate = apps.get_model("helpdesk", "emailtemplate")
EmailTemplate.objects.filter(pk__in=[ obj.object.pk for obj in objects ]).delete()
class Migration(migrations.Migration):
dependencies = [
('helpdesk', '0002_populate_usersettings'),
]
operations = [
migrations.RunPython(load_fixture, reverse_code=unload_fixture),
]