vittoriozamboni / django-groups-manager

Manage django groups collection based on django-mptt.
MIT License
96 stars 23 forks source link

Migration being created inside groups_manager/migrations #63

Closed raulsperoni closed 1 year ago

raulsperoni commented 2 years ago

Hi, first of all, thank you, this library is amazing.

I've noticed in my migrations that I have dependencies on a 0007_alter_group_group_entities_alter_group_group_members_and_more.py

This is being created, but it's difficult to version in git. Is this missing from your repo? Or am I doing something wrong?

Migrations for 'groups_manager':
  venv/lib/python3.8/site-packages/groups_manager/migrations/0007_alter_group_group_entities_alter_group_group_members_and_more.py
    - Alter field group_entities on group
    - Alter field group_members on group
    - Alter field group_type on group
    - Alter field id on group
    - Alter field parent on group
    - Alter field id on groupentity
    - Alter field id on groupmember
    - Alter field id on groupmemberrole
    - Alter field id on grouptype
    - Alter field django_user on member
    - Alter field id on member

thank you!

vittoriozamboni commented 2 years ago

Hi @raulsperoni , thank you for opening this issue and raise the missing migration. This is very strange, it must be a change in a recent version of Django causing the differences to be picked up.

I will try to investigate soon and will patch accordingly.

BoPeng commented 1 year ago

I have encountered the same problem, for django 4.2.x, so it appears that a migration is missing.

The content of 0007_alter_group_group_entities_alter_group_group_members_and_more.py is

# Generated by Django 4.1.3 on 2023-01-01 01:45

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields

class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("groups_manager", "0006_1_0_0_default"),
    ]

    operations = [
        migrations.AlterField(
            model_name="group",
            name="group_entities",
            field=models.ManyToManyField(
                blank=True,
                related_name="%(app_label)s_%(class)s_set",
                to="groups_manager.groupentity",
                verbose_name="group entities",
            ),
        ),
        migrations.AlterField(
            model_name="group",
            name="group_members",
            field=models.ManyToManyField(
                related_name="%(app_label)s_%(class)s_set",
                through="groups_manager.GroupMember",
                to="groups_manager.member",
                verbose_name="group members",
            ),
        ),
        migrations.AlterField(
            model_name="group",
            name="group_type",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="%(app_label)s_%(class)s_set",
                to="groups_manager.grouptype",
                verbose_name="group type",
            ),
        ),
        migrations.AlterField(
            model_name="group",
            name="parent",
            field=mptt.fields.TreeForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="sub_%(app_label)s_%(class)s_set",
                to="groups_manager.group",
                verbose_name="parent",
            ),
        ),
        migrations.AlterField(
            model_name="member",
            name="django_user",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="%(app_label)s_%(class)s_set",
                to=settings.AUTH_USER_MODEL,
                verbose_name="django user",
            ),
        ),
    ]

and currently the only way to fix this issue is to copy the migration files somewhere and add

MIGRATION_MODULES = {
    "groups_manager": "path_to.groups_manager.migrations",
}