mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2025-11-04 14:49:58 +08:00
修改group的models添加小组管理员的多对多字段,把原来的管理员字段重命名为创建者
This commit is contained in:
parent
3508906691
commit
09de27667d
20
group/migrations/0006_auto_20151209_1834.py
Normal file
20
group/migrations/0006_auto_20151209_1834.py
Normal file
@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9 on 2015-12-09 10:34
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('group', '0005_joingrouprequest_accepted'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='group',
|
||||
old_name='admin',
|
||||
new_name='created_by',
|
||||
),
|
||||
]
|
||||
38
group/migrations/0007_auto_20151209_1836.py
Normal file
38
group/migrations/0007_auto_20151209_1836.py
Normal file
@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9 on 2015-12-09 10:36
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('group', '0006_auto_20151209_1834'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='AdminGroupRelation',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'admin_group_relation',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='group',
|
||||
name='admin',
|
||||
field=models.ManyToManyField(related_name='managed_groups', through='group.AdminGroupRelation', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='admingrouprelation',
|
||||
unique_together=set([('user', 'group')]),
|
||||
),
|
||||
]
|
||||
@ -8,10 +8,11 @@ class Group(models.Model):
|
||||
name = models.CharField(max_length=30, unique=True)
|
||||
description = models.TextField()
|
||||
create_time = models.DateTimeField(auto_now_add=True)
|
||||
admin = models.ForeignKey(User, related_name="my_groups")
|
||||
created_by = models.ForeignKey(User, related_name="my_groups")
|
||||
# 0是公开 1是需要申请后加入 2是不允许任何人加入
|
||||
join_group_setting = models.IntegerField(default=1)
|
||||
members = models.ManyToManyField(User, through="UserGroupRelation")
|
||||
admin = models.ManyToManyField(User, through="AdminGroupRelation", related_name="managed_groups")
|
||||
# 解散小组后,这一项改为False
|
||||
visible = models.BooleanField(default=True)
|
||||
|
||||
@ -29,6 +30,16 @@ class UserGroupRelation(models.Model):
|
||||
unique_together = ("group", "user")
|
||||
|
||||
|
||||
|
||||
class AdminGroupRelation(models.Model):
|
||||
user = models.ForeignKey(User)
|
||||
group = models.ForeignKey(Group)
|
||||
|
||||
class Meta:
|
||||
db_table = "admin_group_relation"
|
||||
unique_together = ("user", "group")
|
||||
|
||||
|
||||
class JoinGroupRequest(models.Model):
|
||||
group = models.ForeignKey(Group)
|
||||
user = models.ForeignKey(User, related_name="my_join_group_requests")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user