43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 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 Meta:
 | |
|         verbose_name="集团-公司"
 | |
|         verbose_name_plural="集团-公司"
 | |
| 
 | |
| 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)
 | |
| 
 | |
|     class Meta:
 | |
|         verbose_name="管理员"
 | |
|         verbose_name_plural="管理员"
 | |
| 
 |