OnlineJudge/group/models.py

43 lines
1.3 KiB
Python
Raw Normal View History

# coding=utf-8
from django.db import models
from account.models import User
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")
# 0是公开 1是需要申请后加入 2是不允许任何人加入
2015-08-11 11:14:41 +00:00
join_group_setting = models.IntegerField(default=1)
2015-08-09 11:06:55 +00:00
members = models.ManyToManyField(User, through="UserGroupRelation")
# 解散小组后这一项改为False
visible = models.BooleanField(default=True)
class Meta:
db_table = "group"
2015-08-09 11:06:55 +00:00
class UserGroupRelation(models.Model):
group = models.ForeignKey(Group)
user = models.ForeignKey(User)
join_time = models.DateTimeField(auto_now_add=True)
class Meta:
db_table = "user_group_relation"
unique_together = ("group", "user")
2015-08-09 11:06:55 +00:00
class JoinGroupRequest(models.Model):
group = models.ForeignKey(Group)
user = models.ForeignKey(User, related_name="my_join_group_requests")
message = models.TextField()
create_time = models.DateTimeField(auto_now_add=True)
# 是否处理
status = models.BooleanField(default=False)
accepted = models.BooleanField(default=False)
2015-09-29 15:18:14 +00:00
class Meta:
db_table = "join_group_request"