Renamed UserGroup to SchoolClass and reset migrations
This commit is contained in:
parent
21c85941be
commit
b2cac389cf
|
|
@ -1,6 +1,5 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 12:28
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django_extensions.db.fields
|
||||
|
|
@ -11,8 +10,6 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('books', '0002_contentblock_hidden_for'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
@ -65,19 +62,4 @@ class Migration(migrations.Migration):
|
|||
name='assignment',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='assignments.Assignment'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='studentsubmission',
|
||||
name='student',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='module',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignments', to='books.Module'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='owner',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('assignments', '0001_initial'),
|
||||
('books', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='studentsubmission',
|
||||
name='student',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='module',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignments', to='books.Module'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='owner',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
|
@ -12,8 +12,8 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('wagtailcore', '0040_page_draft_title'),
|
||||
('wagtailimages', '0021_image_file_hash'),
|
||||
('wagtailcore', '0040_page_draft_title'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
|
@ -8,14 +8,14 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('user', '0001_initial'),
|
||||
('books', '0001_initial'),
|
||||
('user', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='contentblock',
|
||||
name='hidden_for',
|
||||
field=models.ManyToManyField(to='user.UserGroup'),
|
||||
field=models.ManyToManyField(to='user.SchoolClass'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ from wagtail.images.blocks import ImageChooserBlock
|
|||
from books.blocks import TextBlock, BasicKnowledgeBlock, LinkBlock, VideoBlock, DocumentBlock, \
|
||||
ImageUrlBlock, AssignmentBlock
|
||||
from core.wagtail_utils import StrictHierarchyPage
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ class ContentBlock(StrictHierarchyPage):
|
|||
(BLUE, 'Blau'),
|
||||
)
|
||||
|
||||
hidden_for = models.ManyToManyField(UserGroup)
|
||||
hidden_for = models.ManyToManyField(SchoolClass)
|
||||
|
||||
contents = StreamField([
|
||||
('text_block', TextBlock()),
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from django.core.exceptions import ValidationError
|
|||
from graphene import relay
|
||||
|
||||
from api.utils import get_object, get_errors
|
||||
from books.models import ContentBlock, Chapter, UserGroup
|
||||
from books.models import ContentBlock, Chapter, SchoolClass
|
||||
from books.schema.inputs import ContentBlockInput
|
||||
from books.schema.queries import ContentBlockNode
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ class MutateContentBlock(relay.ClientIDMutation):
|
|||
|
||||
if visibility_list is not None:
|
||||
for v in visibility_list:
|
||||
user_group = get_object(UserGroup, v.user_group_id)
|
||||
user_group = get_object(SchoolClass, v.user_group_id)
|
||||
if v.hidden:
|
||||
content_block.hidden_for.add(user_group)
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
|
@ -17,6 +17,6 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='visibility',
|
||||
name='user_group',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.UserGroup'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolClass'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from django.db import models
|
||||
|
||||
from books.models import ContentBlock
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
|
||||
class Visibility(models.Model):
|
||||
|
|
@ -9,7 +9,7 @@ class Visibility(models.Model):
|
|||
verbose_name = 'Visibility'
|
||||
verbose_name_plural = 'Visibilities'
|
||||
|
||||
user_group = models.ForeignKey(UserGroup, blank=False, null=False, on_delete=models.CASCADE)
|
||||
user_group = models.ForeignKey(SchoolClass, blank=False, null=False, on_delete=models.CASCADE)
|
||||
content_block = models.ForeignKey(ContentBlock, blank=False, null=False, on_delete=models.CASCADE, related_name='visible_to')
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
|
@ -10,9 +10,9 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('books', '0002_contentblock_hidden_for'),
|
||||
('objectives', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('books', '0002_contentblock_hidden_for'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
@ -10,7 +10,7 @@ from books.blocks import ImageUrlBlock
|
|||
from books.factories import TextBlockFactory, BasicKnowledgeBlockFactory, ImageUrlBlockFactory, LinkBlockFactory
|
||||
from core.factories import fake, fake_paragraph
|
||||
from rooms.models import Room, RoomEntry
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
|
||||
class RoomFactory(factory.django.DjangoModelFactory):
|
||||
|
|
@ -18,7 +18,7 @@ class RoomFactory(factory.django.DjangoModelFactory):
|
|||
model = Room
|
||||
|
||||
title = factory.LazyAttribute(lambda x: fake.sentence(nb_words=random.randint(4, 8)))
|
||||
user_group = factory.Iterator(UserGroup.objects.all())
|
||||
user_group = factory.Iterator(SchoolClass.objects.all())
|
||||
appearance = factory.LazyAttribute(lambda x: random.choice(['red', 'green', 'brown']))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django_extensions.db.fields
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
|
@ -29,6 +29,6 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='room',
|
||||
name='user_group',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.UserGroup'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolClass'),
|
||||
),
|
||||
]
|
||||
|
|
@ -5,7 +5,7 @@ from wagtail.core.fields import StreamField
|
|||
|
||||
from books.blocks import ImageUrlBlock, LinkBlock, VideoBlock
|
||||
from books.models import ContentBlock, TextBlock
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
|
||||
class Room(TitleSlugDescriptionModel):
|
||||
|
|
@ -13,7 +13,7 @@ class Room(TitleSlugDescriptionModel):
|
|||
verbose_name = 'Raum'
|
||||
verbose_name_plural = 'Räume'
|
||||
|
||||
user_group = models.ForeignKey(UserGroup, blank=False, null=False, on_delete=models.CASCADE)
|
||||
user_group = models.ForeignKey(SchoolClass, blank=False, null=False, on_delete=models.CASCADE)
|
||||
appearance = models.CharField(blank=True, null=False, max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from rooms.inputs import UpdateRoomArgument, AddRoomArgument, AddRoomEntryArgume
|
|||
from rooms.models import Room, RoomEntry
|
||||
from rooms.schema import RoomNode, RoomEntryNode
|
||||
from rooms.serializers import RoomSerializer, RoomEntrySerializer
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
|
||||
class MutateRoom(relay.ClientIDMutation):
|
||||
|
|
@ -16,7 +16,7 @@ class MutateRoom(relay.ClientIDMutation):
|
|||
@classmethod
|
||||
def mutate_and_get_payload(cls, *args, **kwargs):
|
||||
room_data = kwargs.get('room')
|
||||
user_group = get_object(UserGroup, room_data.get('user_group').get('id'))
|
||||
user_group = get_object(SchoolClass, room_data.get('user_group').get('id'))
|
||||
room_data['user_group'] = user_group.id
|
||||
if room_data.get('id') is not None:
|
||||
room = get_object(Room, room_data['id'])
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
from django.contrib import admin
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
|
||||
from .models import User, UserGroup, School, SchoolRole, UserSchoolRole
|
||||
from .models import User, SchoolClass, School, SchoolRole, UserSchoolRole
|
||||
|
||||
admin.site.register(User, UserAdmin)
|
||||
|
||||
|
||||
@admin.register(UserGroup)
|
||||
@admin.register(SchoolClass)
|
||||
class UserGroupAdmin(admin.ModelAdmin):
|
||||
list_display = ('id', 'name', 'year')
|
||||
list_filter = ('year',)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import random
|
|||
|
||||
import factory
|
||||
|
||||
from user.models import UserGroup
|
||||
from user.models import SchoolClass
|
||||
|
||||
class_types = ['DA', 'KV', 'INF', 'EE']
|
||||
class_suffix = ['A', 'B', 'C', 'D', 'E']
|
||||
|
|
@ -14,7 +14,7 @@ class_suffix = ['A', 'B', 'C', 'D', 'E']
|
|||
|
||||
class UserGroupFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = UserGroup
|
||||
model = SchoolClass
|
||||
|
||||
name = factory.Sequence(lambda n: '{}{}{}'.format(random.choice(class_types), '18', class_suffix[n % len(class_suffix)]))
|
||||
year = factory.LazyAttribute(lambda x: random.choice([2017, 2018, 2019]))
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 07:39
|
||||
# Generated by Django 2.0.6 on 2018-10-05 08:56
|
||||
|
||||
from django.conf import settings
|
||||
import django.contrib.auth.models
|
||||
import django.contrib.auth.validators
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
import user.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
@ -44,13 +46,49 @@ class Migration(migrations.Migration):
|
|||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UserGroup',
|
||||
name='School',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100, verbose_name='Name')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SchoolClass',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('year', models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1900), django.core.validators.MaxValueValidator(2200)])),
|
||||
('is_deleted', models.BooleanField(default=False)),
|
||||
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
|
||||
('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SchoolRole',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('key', models.CharField(max_length=100, verbose_name='Key')),
|
||||
('name', models.CharField(max_length=100, verbose_name='Name')),
|
||||
('role_permission', models.ManyToManyField(blank=True, related_name='role_set', related_query_name='role', to='auth.Permission', verbose_name='Role permission')),
|
||||
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
|
||||
],
|
||||
options={
|
||||
'permissions': (('can_create_contentblocks', 'Can create new contentblocks'),),
|
||||
},
|
||||
managers=[
|
||||
('objects', user.models.SchoolRoleManager()),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UserSchoolRole',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('school_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolRole')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='schoolrole',
|
||||
unique_together={('key', 'school')},
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,53 +0,0 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 12:46
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import user.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('auth', '0009_alter_user_last_name_max_length'),
|
||||
('user', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='School',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100, verbose_name='Name')),
|
||||
('old_id', models.IntegerField(blank=True, null=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SchoolRole',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('key', models.CharField(max_length=100, verbose_name='Key')),
|
||||
('name', models.CharField(max_length=100, verbose_name='Name')),
|
||||
('role_permission', models.ManyToManyField(blank=True, related_name='role_set', related_query_name='role', to='auth.Permission', verbose_name='Role permission')),
|
||||
('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.School')),
|
||||
],
|
||||
options={
|
||||
'permissions': (('can_create_contentblocks', 'Can create new contentblocks'),),
|
||||
},
|
||||
managers=[
|
||||
('objects', user.models.SchoolRoleManager()),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UserSchoolRole',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('school_role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.SchoolRole')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='schoolrole',
|
||||
unique_together={('key', 'school')},
|
||||
),
|
||||
]
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 13:13
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('user', '0002_auto_20181004_1246'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='school',
|
||||
name='old_id',
|
||||
),
|
||||
]
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# Generated by Django 2.0.6 on 2018-10-04 13:47
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('user', '0003_remove_school_old_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='usergroup',
|
||||
name='school',
|
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='user.School'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
|
|
@ -43,7 +43,7 @@ class School(models.Model):
|
|||
return self.name
|
||||
|
||||
|
||||
class UserGroup(models.Model):
|
||||
class SchoolClass(models.Model):
|
||||
name = models.CharField(max_length=100, blank=False, null=False)
|
||||
year = models.PositiveIntegerField(blank=False, null=False, validators=[MinValueValidator(1900), MaxValueValidator(2200)])
|
||||
is_deleted = models.BooleanField(blank=False, null=False, default=False)
|
||||
|
|
@ -51,7 +51,7 @@ class UserGroup(models.Model):
|
|||
school = models.ForeignKey('School', null=False, on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return 'UserGroup {}-{}-{}'.format(self.id, self.name, self.year)
|
||||
return 'SchoolClass {}-{}-{}'.format(self.id, self.name, self.year)
|
||||
|
||||
|
||||
class SchoolRoleManager(models.Manager):
|
||||
|
|
@ -202,7 +202,7 @@ class UserSchoolRole(models.Model):
|
|||
|
||||
@property
|
||||
def groups(self):
|
||||
return UserGroup.objects.filter(Q(school_id=self.school_role.school.id) & Q(users=self.user.id))
|
||||
return SchoolClass.objects.filter(Q(school_id=self.school_role.school.id) & Q(users=self.user.id))
|
||||
|
||||
@property
|
||||
def group_ids(self):
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from graphene import relay
|
|||
from graphene_django import DjangoObjectType
|
||||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from user.models import UserGroup, User
|
||||
from user.models import SchoolClass, User
|
||||
|
||||
|
||||
class UserNode(DjangoObjectType):
|
||||
|
|
@ -31,7 +31,7 @@ class UserGroupNode(DjangoObjectType):
|
|||
pk = graphene.Int()
|
||||
|
||||
class Meta:
|
||||
model = UserGroup
|
||||
model = SchoolClass
|
||||
filter_fields = ['name']
|
||||
interfaces = (relay.Node,)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue