35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
from django.db import models
|
|
from safesite import models as s_models
|
|
|
|
# Create your models here.
|
|
|
|
|
|
class Group(models.Model):
|
|
grouptype = (
|
|
('real',"集团"),
|
|
('fictitious',"组合"),
|
|
)
|
|
groupname = models.CharField(max_length=128, unique=True)
|
|
type = models.CharField(max_length=32, choices=grouptype, default="集团")
|
|
createtime = models.DateTimeField(auto_now_add=True)
|
|
members = models.ManyToManyField(s_models.Partment,through='Groupmember', related_name='group_members')
|
|
def __str__(self):
|
|
return self.groupname
|
|
|
|
class Meta:
|
|
ordering = ["-createtime"]
|
|
verbose_name="集团"
|
|
verbose_name_plural="集团"
|
|
|
|
class Groupmember(models.Model):
|
|
group = models.ForeignKey(Group,on_delete=models.CASCADE, related_name='groupmember_group')
|
|
member = models.ForeignKey(s_models.Partment,on_delete=models.CASCADE, related_name='groupmember_member')
|
|
|
|
class GroupUser(models.Model):
|
|
username = models.CharField(max_length=128, unique=True)
|
|
password = models.CharField(max_length=256)
|
|
user = models.OneToOneField(s_models.User,null=True,blank=True,on_delete=models.CASCADE)
|
|
issuper = models.IntegerField(default=0)
|
|
group = models.ForeignKey(Group,on_delete=models.CASCADE)
|
|
|