newmediamonitoring/dashboard/models.py

250 lines
11 KiB
Python
Raw Normal View History

2020-07-24 03:01:32 +00:00
import uuid
from django.contrib.auth.models import User
from django.db import models
2020-07-27 09:38:53 +00:00
2020-07-24 03:01:32 +00:00
# Create your models here.
2020-07-27 09:38:53 +00:00
# 组
2020-07-24 03:01:32 +00:00
class Group(models.Model):
2020-07-27 09:38:53 +00:00
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
name = 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 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)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
2020-07-27 09:38:53 +00:00
2020-07-24 03:01:32 +00:00
def __str__(self):
return self.name
2020-07-27 09:38:53 +00:00
# 单位
2020-07-24 03:01:32 +00:00
class Organization(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
name = models.CharField('单位名', max_length=256, null=True, blank=True)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
level = models.ForeignKey(Level,on_delete=models.CASCADE,null=True,blank=True)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.name
2020-07-27 09:38:53 +00:00
# 扩展用户表
class Userprofile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = 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)
2020-07-24 03:01:32 +00:00
def __str__(self):
return self.user.username
2020-07-27 09:38:53 +00:00
2020-07-24 03:01:32 +00:00
def create_user_profile(sender, instance, created, **kwargs):
"""Create the UserProfile when a new User is saved"""
if created:
2020-07-27 09:38:53 +00:00
profile = Userprofile()
2020-07-24 03:01:32 +00:00
profile.user = instance
profile.save()
2020-07-27 09:38:53 +00:00
# 微信公众号
2020-07-24 03:01:32 +00:00
class Weixin(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
code = models.CharField('微信公众号', max_length=256, null=True, blank=True)
2020-07-24 03:01:32 +00:00
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.code
2020-07-27 09:38:53 +00:00
# 微信文章采集
2020-07-24 03:01:32 +00:00
class Weixin_data(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.title
2020-07-27 09:38:53 +00:00
# 微信评论
2020-07-24 03:01:32 +00:00
class Weixin_comment(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.user
2020-07-27 09:38:53 +00:00
# 微信错别字
2020-07-24 03:01:32 +00:00
class Weixin_Wrong(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
weixin = models.ForeignKey(Weixin, on_delete=models.CASCADE)
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
2020-07-27 09:38:53 +00:00
# 微博
2020-07-24 03:01:32 +00:00
class Weibo(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
code = models.CharField('微博号', max_length=256, null=True, blank=True)
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.code
2020-07-27 09:38:53 +00:00
# 微博文章采集
2020-07-24 03:01:32 +00:00
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)
2020-07-27 09:38:53 +00:00
content = models.TextField('正文', null=True, blank=True)
2020-07-24 03:01:32 +00:00
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)
2020-07-27 09:38:53 +00:00
weibo = models.ForeignKey(Weibo, on_delete=models.CASCADE)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.title
2020-07-27 09:38:53 +00:00
# 微博错别字
2020-07-24 03:01:32 +00:00
class Weibo_Wrong(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
change = models.BooleanField('是否已修改', null=True, blank=True)
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
2020-07-27 09:38:53 +00:00
# 今日头条
2020-07-24 03:01:32 +00:00
class Toutiao(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
code = models.CharField('头条号', max_length=256, null=True, blank=True)
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.code
2020-07-27 09:38:53 +00:00
# 今日头条数据
2020-07-24 03:01:32 +00:00
class Toutiao_data(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
reply = models.CharField('作者回复数', max_length=256, null=True, blank=True)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.title
2020-07-27 09:38:53 +00:00
# 今日头条评论
2020-07-24 03:01:32 +00:00
class Toutiao_comment(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
created = models.DateTimeField('创建时间', auto_now_add=True)
updated = models.DateTimeField('更新时间', auto_now=True)
def __str__(self):
return self.user
2020-07-27 09:38:53 +00:00
# 今日头条错别字
2020-07-24 03:01:32 +00:00
class Toutiao_Wrong(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
2020-07-27 09:38:53 +00:00
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)
2020-07-24 03:01:32 +00:00
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
2020-07-27 09:38:53 +00:00
# 其他新媒体
2020-07-24 03:01:32 +00:00
class Qita(models.Model):
id = models.UUIDField('id', primary_key=True, default=uuid.uuid4)
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
2020-07-27 09:38:53 +00:00
type = models.CharField('新媒体类型', max_length=256, null=True, blank=True)
name = models.CharField('新媒体名称', max_length=256, null=True, blank=True)
count = models.CharField('总发文量', max_length=256, null=True, blank=True)
count_jc = models.CharField('监测时间内发文量', max_length=256, null=True, blank=True)
2020-07-24 03:01:32 +00:00
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.name