358 lines
17 KiB
Python
358 lines
17 KiB
Python
import uuid
|
|
|
|
from django.contrib.auth.models import User
|
|
from django.db import models
|
|
|
|
|
|
# Create your models here.
|
|
class Group_type(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
type = models.CharField('群组类型',max_length=256,null=True,blank=True)
|
|
|
|
def __str__(self):
|
|
return self.type
|
|
# 群组
|
|
class Group(models.Model):
|
|
GROUP_STATUS_CHOICES = (
|
|
('0','关闭'),
|
|
('1','开启')
|
|
)
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
name = models.CharField('群组名称', max_length=256, null=True, blank=True)
|
|
presentation = models.TextField('群组描述', null=True, blank=True)
|
|
image = models.FileField(upload_to='groupimage', null=True, blank=True)
|
|
type = models.ForeignKey(Group_type,on_delete=models.CASCADE,null=True,blank=True)
|
|
status = models.CharField('状态',max_length=256,null=True,blank=True,choices=GROUP_STATUS_CHOICES)
|
|
province = models.CharField('省', max_length=256, null=True, blank=True)
|
|
cities = models.CharField('市', max_length=256, null=True, blank=True)
|
|
district = models.CharField('县', max_length=256, null=True, blank=True)
|
|
town = models.CharField('乡', max_length=256, null=True, blank=True)
|
|
village = models.CharField('村', max_length=256, null=True, blank=True)
|
|
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
#群组管理员
|
|
class Group_admin(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
|
|
group = models.ForeignKey(Group, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.group.name
|
|
#群组成员
|
|
class Group_user(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
|
|
group = models.ForeignKey(Group, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.user.username
|
|
# 权限等级
|
|
class Level(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
name = models.CharField('等级名', max_length=256, null=True, blank=True)
|
|
level = models.IntegerField('级别', blank=True, null=True,default=0)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
#单位类型
|
|
class Organizationtype(models.Model):
|
|
id = models.UUIDField('id',primary_key=True,default=uuid.uuid4)
|
|
organizationtype = models.CharField('单位类型',blank=True,null=True,max_length=256)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.organizationtype
|
|
|
|
|
|
# 单位
|
|
class Organization(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
name = models.CharField('单位名', max_length=256, null=True, blank=True)
|
|
image = models.FileField(upload_to='cover', null=True, blank=True)
|
|
organizationtype = models.ForeignKey(Organizationtype,on_delete=models.CASCADE, null=True, blank=True)
|
|
province = models.CharField('省',max_length=256,null=True,blank=True)
|
|
cities = models.CharField('市',max_length=256,null=True,blank=True)
|
|
district = models.CharField('县',max_length=256,null=True,blank=True)
|
|
town = models.CharField('乡',max_length=256,null=True,blank=True)
|
|
village = models.CharField('村',max_length=256,null=True,blank=True)
|
|
# group = models.ForeignKey(Group, on_delete=models.CASCADE, null=True, blank=True)
|
|
# level = models.ForeignKey(Level,on_delete=models.CASCADE,null=True,blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
# 扩展用户表
|
|
class Userprofile(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
|
name = models.CharField('姓名', null=True, blank=True, max_length=256)
|
|
sex = models.CharField('性别', null=True, blank=True, max_length=256)
|
|
image = models.FileField(upload_to='profile', null=True, blank=True)
|
|
organization = models.ForeignKey(Organization, on_delete=models.CASCADE, null=True, blank=True)
|
|
|
|
|
|
def __str__(self):
|
|
return self.user.username
|
|
|
|
|
|
def create_user_profile(sender, instance, created, **kwargs):
|
|
"""Create the UserProfile when a new User is saved"""
|
|
if created:
|
|
profile = Userprofile()
|
|
profile.user = instance
|
|
profile.save()
|
|
|
|
|
|
# 微信公众号
|
|
class Weixin(models.Model):
|
|
WEIXIN_STATUS_CHOICES = (
|
|
('1', '开启'),
|
|
('0', '关闭')
|
|
)
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
code = models.CharField('微信公众号', max_length=256, null=True, blank=True)
|
|
weixinid = models.CharField('微信ID',max_length=256,null=True,blank=True)
|
|
alias = models.CharField('别名',max_length=256,null=True,blank=True)
|
|
image = models.FileField(upload_to='cover', null=True, blank=True)
|
|
organization = models.ForeignKey(Organization, on_delete=models.CASCADE, null=True, blank=True)
|
|
status = models.CharField('状态',max_length=256,null=True,blank=True,choices=WEIXIN_STATUS_CHOICES)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.code
|
|
|
|
|
|
# 微信文章采集
|
|
class Weixin_data(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
title = models.CharField('文章标题', max_length=256, null=True, blank=True)
|
|
site = models.CharField('位置', max_length=256, null=True, blank=True)
|
|
date = models.CharField('发文时间', max_length=256, null=True, blank=True)
|
|
original = models.BooleanField('是否原创', null=True, blank=True)
|
|
url = models.CharField('文章链接', max_length=256, null=True, blank=True)
|
|
author = models.CharField('作者', max_length=256, null=True, blank=True)
|
|
comment = models.CharField('评论数', max_length=256, null=True, blank=True)
|
|
reply = models.CharField('作者回复数', max_length=256, null=True, blank=True)
|
|
content = models.TextField('正文', null=True, blank=True)
|
|
weixin = models.ForeignKey(Weixin, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
# 微信评论
|
|
class Weixin_comment(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
comment = models.TextField('评论', null=True, blank=True)
|
|
user = models.CharField('用户', max_length=256, null=True, blank=True)
|
|
reply = models.TextField('回复', null=True, blank=True)
|
|
weixin = models.ForeignKey(Weixin, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.user
|
|
|
|
|
|
# 微信错别字
|
|
class Weixin_Wrong(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
wrong = models.CharField('错别字', max_length=256, null=True, blank=True)
|
|
idea = models.CharField('建议', max_length=256, null=True, blank=True)
|
|
site = models.CharField('位置', max_length=256, null=True, blank=True)
|
|
weixin = models.ForeignKey(Weixin, on_delete=models.CASCADE, null=True, blank=True)
|
|
change = models.BooleanField('是否已修改', null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.wrong
|
|
|
|
|
|
# 微博
|
|
class Weibo(models.Model):
|
|
WEIBO_STATUS_CHOICES = (
|
|
('1', '开启'),
|
|
('0', '关闭')
|
|
)
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
code = models.CharField('微博号', max_length=256, null=True, blank=True)
|
|
weiboid = models.CharField('微博ID', max_length=256, null=True, blank=True)
|
|
alias = models.CharField('别名', max_length=256, null=True, blank=True)
|
|
image = models.FileField(upload_to='cover', null=True, blank=True)
|
|
organization = models.ForeignKey(Organization, on_delete=models.CASCADE, null=True, blank=True)
|
|
status = models.CharField('状态', max_length=256, null=True, blank=True, choices=WEIBO_STATUS_CHOICES)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.code
|
|
|
|
|
|
# 微博文章采集
|
|
class Weibi_data(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
weiboid = models.CharField('微博ID', max_length=256, null=True, blank=True)
|
|
content = models.TextField('正文', null=True, blank=True)
|
|
url = models.CharField('文章url', max_length=256, null=True, blank=True)
|
|
originalimageurl = models.CharField('原始图片url', max_length=256, null=True, blank=True)
|
|
transpondimageurl = models.CharField('转发图片url', max_length=256, null=True, blank=True)
|
|
original = models.BooleanField('是否原创', null=True, blank=True)
|
|
site = models.CharField('发布位置', max_length=256, null=True, blank=True)
|
|
date = models.CharField('发布时间', max_length=256, null=True, blank=True)
|
|
tool = models.CharField('发布工具', max_length=256, null=True, blank=True)
|
|
like = models.CharField('点赞数', max_length=256, null=True, blank=True)
|
|
transpond = models.CharField('转发数', max_length=256, null=True, blank=True)
|
|
comment = models.CharField('评论数', max_length=256, null=True, blank=True)
|
|
title = models.CharField('文章标题', max_length=256, null=True, blank=True)
|
|
weibo = models.ForeignKey(Weibo, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
# 微博错别字
|
|
class Weibo_Wrong(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
wrong = models.CharField('错别字', max_length=256, null=True, blank=True)
|
|
idea = models.CharField('建议', max_length=256, null=True, blank=True)
|
|
site = models.CharField('位置', max_length=256, null=True, blank=True)
|
|
weibo = models.ForeignKey(Weibo, on_delete=models.CASCADE, null=True, blank=True)
|
|
change = models.BooleanField('是否已修改', null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
|
|
# 今日头条
|
|
class Toutiao(models.Model):
|
|
TOUTIAO_STATUS_CHOICES = (
|
|
('1', '开启'),
|
|
('0', '关闭')
|
|
)
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
code = models.CharField('头条号', max_length=256, null=True, blank=True)
|
|
toutiaoid = models.CharField('头条ID', max_length=256, null=True, blank=True)
|
|
alias = models.CharField('别名', max_length=256, null=True, blank=True)
|
|
image = models.FileField(upload_to='cover', null=True, blank=True)
|
|
organization = models.ForeignKey(Organization, on_delete=models.CASCADE, null=True, blank=True)
|
|
status = models.CharField('状态', max_length=256, null=True, blank=True, choices=TOUTIAO_STATUS_CHOICES)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.code
|
|
|
|
|
|
# 今日头条数据
|
|
class Toutiao_data(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
title = models.CharField('标题', max_length=256, null=True, blank=True)
|
|
url = models.CharField('链接', max_length=256, null=True, blank=True)
|
|
img = models.CharField('缩略图', max_length=256, null=True, blank=True)
|
|
count = models.CharField('阅读数', max_length=256, null=True, blank=True)
|
|
commentcount = models.CharField('评论数', max_length=256, null=True, blank=True)
|
|
reply = models.CharField('作者回复数', max_length=256, null=True, blank=True)
|
|
date = models.CharField('时间', max_length=256, null=True, blank=True)
|
|
content = models.TextField('正文', null=True, blank=True)
|
|
comment = models.TextField('评论', null=True, blank=True)
|
|
toutiao = models.ForeignKey(Toutiao, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
# 今日头条评论
|
|
class Toutiao_comment(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
comment = models.TextField('评论', null=True, blank=True)
|
|
user = models.CharField('用户', max_length=256, null=True, blank=True)
|
|
reply = models.TextField('回复', null=True, blank=True)
|
|
toutiao = models.ForeignKey(Toutiao, on_delete=models.CASCADE, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.user
|
|
|
|
|
|
# 今日头条错别字
|
|
class Toutiao_Wrong(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
wrong = models.CharField('错别字', max_length=256, null=True, blank=True)
|
|
idea = models.CharField('建议', max_length=256, null=True, blank=True)
|
|
site = models.CharField('位置', max_length=256, null=True, blank=True)
|
|
toutiao = models.ForeignKey(Toutiao, on_delete=models.CASCADE, null=True, blank=True)
|
|
change = models.BooleanField('是否已修改', null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.wrong
|
|
|
|
|
|
# 其他新媒体
|
|
class Qita(models.Model):
|
|
QITA_STATUS_CHOICES = (
|
|
('1', '开启'),
|
|
('0', '关闭')
|
|
)
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
type = models.CharField('新媒体类型', max_length=256, null=True, blank=True)
|
|
name = models.CharField('新媒体名称', max_length=256, null=True, blank=True)
|
|
qitaid = models.CharField('新媒体ID', max_length=256, null=True, blank=True)
|
|
alias = models.CharField('别名', max_length=256, null=True, blank=True)
|
|
image = models.FileField(upload_to='cover', null=True, blank=True)
|
|
organization = models.ForeignKey(Organization, on_delete=models.CASCADE, null=True, blank=True)
|
|
status = models.CharField('状态', max_length=256, null=True, blank=True, choices=QITA_STATUS_CHOICES)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
#其他新媒体监测
|
|
class Qita_jc(models.Model):
|
|
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
|
|
mewnedia = models.ForeignKey(Qita,on_delete=models.CASCADE)
|
|
count = models.CharField('总发文量', max_length=256, null=True, blank=True)
|
|
count_jc = models.CharField('监测时间内发文量', max_length=256, null=True, blank=True)
|
|
comment = models.CharField('评论数', max_length=256, null=True, blank=True)
|
|
reply = models.CharField('作者回复数', max_length=256, null=True, blank=True)
|
|
date = models.CharField('最近发文日期', max_length=256, null=True, blank=True)
|
|
created = models.DateTimeField('创建时间', auto_now_add=True)
|
|
updated = models.DateTimeField('更新时间', auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.mewnedia.name
|
|
#5级地名库
|
|
class Area_code_2020(models.Model):
|
|
code = models.CharField('区划代码',max_length=256,null=True,blank=True)
|
|
name = models.CharField('名称',max_length=256,null=True,blank=True)
|
|
level = models.CharField('级别1-5,省市县镇村',max_length=256,null=True,blank=True)
|
|
pcode = models.CharField('父级区划代码',max_length=256,null=True,blank=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|