Prevent generation of useless migrations upon settings change

This commit is contained in:
Skia
2018-04-26 20:18:24 +02:00
parent 01240ce75e
commit 9146251642
6 changed files with 77 additions and 6 deletions

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
import core.models
class Migration(migrations.Migration):
dependencies = [
('core', '0028_auto_20171216_2044'),
]
operations = [
migrations.AlterField(
model_name='page',
name='owner_group',
field=models.ForeignKey(verbose_name='owner group', default=core.models.Page.get_default_owner_group, related_name='owned_page', to='core.Group'),
),
]

View File

@ -920,8 +920,10 @@ class Page(models.Model):
# Attention: this field may not be valid until you call save(). It's made for fast query, but don't rely on it when
# playing with a Page object, use get_full_name() instead!
_full_name = models.CharField(_('page name'), max_length=255, blank=True)
# This function prevents generating migration upon settings change
def get_default_owner_group(): return settings.SITH_GROUP_ROOT_ID
owner_group = models.ForeignKey(Group, related_name="owned_page", verbose_name=_("owner group"),
default=settings.SITH_GROUP_ROOT_ID)
default=get_default_owner_group)
edit_groups = models.ManyToManyField(Group, related_name="editable_page", verbose_name=_("edit group"), blank=True)
view_groups = models.ManyToManyField(Group, related_name="viewable_page", verbose_name=_("view group"), blank=True)
lock_user = models.ForeignKey(User, related_name="locked_pages", verbose_name=_("lock user"), blank=True, null=True, default=None)