1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # -*- coding: utf-8 -*-
- from django.db import migrations
- def create_homepage(apps, schema_editor):
- # Get models
- ContentType = apps.get_model('contenttypes.ContentType')
- Page = apps.get_model('wagtailcore.Page')
- Site = apps.get_model('wagtailcore.Site')
- HomePage = apps.get_model('home.HomePage')
- # Delete the default homepage
- # If migration is run multiple times, it may have already been deleted
- Page.objects.filter(id=2).delete()
- # Create content type for homepage model
- homepage_content_type, __ = ContentType.objects.get_or_create(
- model='homepage', app_label='home')
- # Create a new homepage
- homepage = HomePage.objects.create(
- title="Home",
- draft_title="Home",
- slug='home',
- content_type=homepage_content_type,
- path='00010001',
- depth=2,
- numchild=0,
- url_path='/home/',
- )
- # Create a site with the new homepage set as the root
- Site.objects.create(
- hostname='localhost', root_page=homepage, is_default_site=True)
- def remove_homepage(apps, schema_editor):
- # Get models
- ContentType = apps.get_model('contenttypes.ContentType')
- HomePage = apps.get_model('home.HomePage')
- # Delete the default homepage
- # Page and Site objects CASCADE
- HomePage.objects.filter(slug='home', depth=2).delete()
- # Delete content type for homepage model
- ContentType.objects.filter(model='homepage', app_label='home').delete()
- class Migration(migrations.Migration):
- dependencies = [
- ('home', '0001_initial'),
- ]
- operations = [
- migrations.RunPython(create_homepage, remove_homepage),
- ]
|