import uuid from django.contrib.auth.models import User from django.db import models from django.db.models import Q # 权限等级 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 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_CLASSIFY_CHOICES = ( ('0', '区域'), ('1', '媒体种类'), ('2', '行业'), ('3', '管理') ) 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.IntegerField( '状态', null=True, blank=True, default=0) 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) classify = models.CharField( '分类', max_length=256, null=True, blank=True, choices=GROUP_CLASSIFY_CHOICES) rank = models.IntegerField('rank', default=0) user = models.ForeignKey( User, on_delete=models.CASCADE, blank=True, null=True) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) def total_user(self): return self.group_user_set.count() def __str__(self): return self.name class Meta: ordering = ["rank"] # 矩阵管理员 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 Meta: ordering = ["created"] # 矩阵成员 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 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) level = models.ForeignKey( Level, on_delete=models.CASCADE, null=True, blank=True) directly = models.CharField('单位类型', max_length=256, null=True, blank=True) status = models.CharField('状态', max_length=256, null=True, blank=True) # 20201014新添加字段 id_code = models.CharField( '单位唯一标识码', max_length=256, null=True, blank=True) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) class Meta: ordering = ["name"] def __str__(self): return self.name def is_direct(self): return self.province != '' and self.cities == '' # 扩展用户表 class Userprofile(models.Model): """ admin_status: '0': '已删除', '1': '添加申请市级审核中', '2': '添加申请省级审核中', '3': '正常', '4': '注销申请市级审核中', '5': '注销申请省级审核中', """ 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) unit = models.CharField('自己输入单位', null=True, blank=True, max_length=256) department = models.CharField('部门', null=True, blank=True, max_length=256) post = 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) # 用户状态:注册进来默认为0,为未审核状态,审核后status=1 status = models.IntegerField('用户状态', null=True, blank=True, default=0) admin_status = models.IntegerField('管理状态', default=3) message_status = models.BooleanField('是否发送消息', default=True) platform = models.CharField('手机操作系统', null=True, blank=True, max_length=32) # 20201017新增字段(职位) zhiwei = models.CharField('职位', max_length=256, null=True, blank=True) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) class Meta: ordering = ["-created"] def is_level1(self): return self.organization.level.level == 1 or self.organization.level.level == 9 def is_level2(self): return self.organization.level.level == 2 @classmethod def level2_admin(cls, cities): return Userprofile.objects.filter(organization__level__level=2, organization__cities=cities) @classmethod def level1_admin(cls): return Userprofile.objects.filter(Q(organization__level__level=1) | Q(organization__level__level=9)) def __str__(self): if self.is_level1(): return '省级管理员%s' % (self.name,) elif self.is_level2(): return '市级管理员%s' % (self.name,) return self.name 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 NewMedia(models.Model): """ status: '0': '已删除', '1': '添加申请市级审核中', '2': '添加申请省级审核中', '3': '正常', '4': '注销申请市级审核中', '5': '注销申请省级审核中', """ id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) code = models.CharField('微信公众号', max_length=256, null=True, blank=True) alias = models.CharField('别名', max_length=256, null=True, blank=True) image = models.FileField( upload_to='cover/%Y/%m/%d/', null=True, blank=True) organization = models.ForeignKey( Organization, on_delete=models.CASCADE, null=True, blank=True) status = models.IntegerField( '状态', null=True, blank=True, default=0) attention = models.CharField('关注量', null=True, blank=True, max_length=256) remark = models.CharField('备注', null=True, blank=True, max_length=2560) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) # 20201015新增字段 identificationcode = models.CharField( '新媒体标识码', max_length=256, null=True, blank=True) function = models.CharField('功能', max_length=256, null=True, blank=True) articleurl = models.TextField('文章URL', null=True, blank=True) class Meta: abstract = True ordering = ["-created"] @classmethod def category_one_count(cls): t1 = Weixin.objects.exclude( status=0, organization__province='' ).filter( organization__cities='', organization__district='', ).count() t2 = Weibo.objects.exclude( status=0, organization__province='' ).filter( organization__cities='', organization__district='', ).count() t3 = Toutiao.objects.exclude( status=0, organization__province='' ).filter( organization__cities='', organization__district='', ).count() t4 = Douyin.objects.exclude( status=0, organization__province='' ).filter( organization__cities='', organization__district='', ).count() t5 = Qita.objects.exclude( status=0, organization__province='' ).filter( organization__cities='', organization__district='', ).count() return t1 + t2 + t3 + t4 + t5 @classmethod def category_two_count(cls): t1 = Weixin.objects.exclude( organization__province='', organization__cities='', status=0 ).filter( organization__district='', ).count() t2 = Weibo.objects.exclude( organization__province='', organization__cities='', status=0 ).filter( organization__district='', ).count() t3 = Toutiao.objects.exclude( organization__province='', organization__cities='', status=0 ).filter( organization__district='', ).count() t4 = Douyin.objects.exclude( organization__province='', organization__cities='', status=0 ).filter( organization__district='', ).count() t5 = Qita.objects.exclude( organization__province='', organization__cities='', status=0 ).filter( organization__district='', ).count() return t1 + t2 + t3 + t4 + t5 @classmethod def category_three_count(cls): t1 = Weixin.objects.exclude( status=0, organization__province='', organization__cities='', organization__district='' ).count() t2 = Weibo.objects.exclude( status=0, organization__province='', organization__cities='', organization__district='' ).count() t3 = Toutiao.objects.exclude( status=0, organization__province='', organization__cities='', organization__district='' ).count() t4 = Douyin.objects.exclude( status=0, organization__province='', organization__cities='', organization__district='' ).count() t5 = Qita.objects.exclude( status=0, organization__province='', organization__cities='', organization__district='' ).count() return t1 + t2 + t3 + t4 + t5 @classmethod def media_list(cls, organization_id): weixin = Weixin.objects.filter( organization_id=organization_id).exclude(status=0) weibo = Weibo.objects.filter( organization_id=organization_id).exclude(status=0) toutiao = Toutiao.objects.filter( organization_id=organization_id).exclude(status=0) douyin = Douyin.objects.filter( organization_id=organization_id).exclude(status=0) qita = Qita.objects.filter( organization_id=organization_id).exclude(status=0) results = [] for o in weixin: result = dict() result['id'] = o.id result['code'] = o.code result['alias'] = o.alias result['status'] = o.status result['type'] = 'weixin' result['subtype'] = '' results.append(result) for o in weibo: result = dict() result['id'] = o.id result['code'] = o.code result['alias'] = o.alias result['status'] = o.status result['type'] = 'weibo' result['subtype'] = '' results.append(result) for o in toutiao: result = dict() result['id'] = o.id result['code'] = o.code result['alias'] = o.alias result['status'] = o.status result['type'] = 'toutiao' result['subtype'] = '' results.append(result) for o in douyin: result = dict() result['id'] = o.id result['code'] = o.code result['alias'] = o.alias result['status'] = o.status result['type'] = 'douyin' result['subtype'] = '' results.append(result) for o in qita: result = dict() result['id'] = o.id result['code'] = o.code result['alias'] = o.alias result['status'] = o.status result['type'] = 'qita' result['subtype'] = o.type results.append(result) return results def __str__(self): return self.code + ':' + self.alias # 微信公众号 class Weixin(NewMedia): weixinid = models.CharField('微信ID', max_length=256, null=True, blank=True) # 微信文章采集 class Weixin_data(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) weixin = models.ForeignKey( Weixin, on_delete=models.CASCADE, null=True, blank=True) mp = models.CharField('mp', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) content = models.TextField('content', null=True, blank=True) author = models.CharField('author', max_length=256, null=True, blank=True) timestamp = models.CharField( 'timestamp', max_length=256, null=True, blank=True) link = models.CharField('link', max_length=2560, 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(NewMedia): weiboid = models.CharField('微博ID', max_length=256, null=True, blank=True) # 微博文章采集 class Weibo_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) year = models.CharField('年', max_length=256, null=True, blank=True) month = models.CharField('月', max_length=256, null=True, blank=True) day = 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(NewMedia): toutiaoid = models.CharField('头条ID', max_length=256, null=True, blank=True) # 今日头条数据 class Toutiao_data(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) toutiao = models.ForeignKey( Toutiao, on_delete=models.CASCADE, null=True, blank=True) tid = models.CharField('tid', max_length=256, null=True, blank=True) celltype = models.CharField( 'celltype', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) content = models.TextField('内容', null=True, blank=True) time = models.CharField('时间', max_length=256, null=True, blank=True) url = models.CharField('链接', max_length=256, null=True, blank=True) commentcount = models.IntegerField('评论量', null=True, blank=True) readnum = models.IntegerField('阅读量', null=True, blank=True) likenum = models.IntegerField('点赞量', null=True, blank=True) shownum = models.IntegerField('点击量', 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) type = models.CharField('type', max_length=256, null=True, blank=True) tid = models.CharField('tid', max_length=256, null=True, blank=True) cid = models.CharField('cid', max_length=256, null=True, blank=True) rid = models.CharField('rid', max_length=256, null=True, blank=True) username = models.CharField( 'username', max_length=256, null=True, blank=True) content = models.TextField('content', null=True, blank=True) time = models.CharField('time', max_length=256, null=True, blank=True) reply_count = models.IntegerField('reply_count', null=True, blank=True) diggcount = models.IntegerField('diggcount', null=True, blank=True) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) def __str__(self): return self.username # 今日头条错别字 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 Douyin(NewMedia): douyinid = models.CharField('抖音ID', max_length=256, null=True, blank=True) # 抖音数据 class Douyin_data(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) mewnedia = models.ForeignKey(Douyin, 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.DateField('最近发文日期', 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.code # 其他新媒体 class Qita(NewMedia): type = models.CharField('新媒体类型', max_length=256, null=True, blank=True) qitaid = models.CharField('新媒体ID', max_length=256, null=True, blank=True) def __str__(self): return self.qitaid # 其他新媒体监测 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.DateField('最近发文日期', 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.code # 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 class Meta: ordering = ["code"] # 新闻 class News(models.Model): NEWMEDIA_NEWS_CHOICES = ( ('0', '政策依据'), ('1', '基层动态'), ('2', '外省动态'), ('3', '监测通报'), ('4', '舆情热点'), ('5', '通知'), ('6', '重点新闻'), ) id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) type = models.CharField('文章类型', max_length=256, null=True, blank=True, choices=NEWMEDIA_NEWS_CHOICES) source = models.CharField('文章来源', max_length=256, null=True, blank=True) title = models.CharField('文章标题', max_length=256, null=True, blank=True) image = models.FileField( upload_to='news/%Y/%m/%d/', null=True, blank=True) author = models.CharField('作者', max_length=256, null=True, blank=True) date = models.DateField('发表日期', null=True, blank=True, max_length=256) content = models.TextField('内容', null=True, blank=True) def __str__(self): return self.title class Meta: ordering = ["-date"] # 手机验证码验证表 class CheckCode(models.Model): phone_code = models.CharField( '手机验证码', max_length=256, null=True, blank=True) phone = models.CharField('电话号', max_length=256, null=True, blank=True) c_time = models.DateTimeField('时间', auto_now_add=True) # 新媒体舆情临时表 class NewmediaSentimentWeixin(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) code = models.CharField('公众号', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) comment_count = models.CharField( '评论数', max_length=256, null=True, blank=True) reply_count = models.CharField( '回复数', max_length=256, null=True, blank=True) date = models.CharField('发布时间', max_length=256, null=True, blank=True) def __str__(self): return self.title class NewmediaSentimentWeibo(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) code = models.CharField('微博号', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) comment_count = models.CharField( '评论数', max_length=256, null=True, blank=True) reply_count = models.CharField( '回复数', max_length=256, null=True, blank=True) date = models.CharField('发布时间', max_length=256, null=True, blank=True) def __str__(self): return self.title class NewmediaSentimentToutiao(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) code = models.CharField('头条号', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) comment_count = models.CharField( '评论数', max_length=256, null=True, blank=True) reply_count = models.CharField( '回复数', max_length=256, null=True, blank=True) date = models.CharField('发布时间', max_length=256, null=True, blank=True) def __str__(self): return self.title # 时效性监测临时表 class TimelinessMonitoring(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) n_type = models.CharField('新媒体类型', max_length=256, null=True, blank=True) # name = models.ForeignKey(NewMedia,on_delete=models.CASCADE) identificationcode = models.CharField( '新媒体标识码', max_length=256, null=True, blank=True) results = models.CharField('监测结果', max_length=256, null=True, blank=True) update = models.IntegerField('更新次数', null=True, blank=True) silent = models.IntegerField('静默日数', null=True, blank=True) start_data = models.CharField( '开始时间', max_length=256, null=True, blank=True) end_data = models.CharField('结束时间', max_length=256, null=True, blank=True) date = models.CharField('时间', max_length=256, null=True, blank=True) date_length = models.CharField('时间', max_length=256, null=True, blank=True) city = models.CharField('市', max_length=256, null=True, blank=True) district = models.CharField('县', max_length=256, null=True, blank=True) def __str__(self): return self.id # 错别字临时表 class Wrongly(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) error = models.CharField('错误', max_length=256, null=True, blank=True) idea = models.CharField('建议', max_length=256, null=True, blank=True) site = models.TextField('上下文', null=True, blank=True) n_type = models.CharField('新媒体类型', max_length=256, null=True, blank=True) n_name = models.CharField('新媒体名称', max_length=256, null=True, blank=True) date = models.CharField('发布时间', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) city = models.CharField('市', max_length=256, null=True, blank=True) jc_date = models.CharField('监测时间', max_length=256, null=True, blank=True) def __str__(self): return self.title # 评论临时表 class 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) name = models.CharField('新媒体名称', max_length=256, null=True, blank=True) title = models.CharField('标题', max_length=256, null=True, blank=True) date = models.CharField('时间', max_length=256, null=True, blank=True) url = 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.user # 新媒体更新表(国办) class Newmediaupdate(models.Model): id = models.UUIDField('id', primary_key=True, default=uuid.uuid4) organization_name = models.CharField( '单位全称', max_length=256, null=True, blank=True) organization_id_code = models.CharField( '单位唯一标识码', max_length=256, null=True, blank=True) identificationcode = models.CharField( '新媒体标识码', max_length=256, null=True, blank=True) newmedia_name = models.CharField( '账号名称', max_length=256, null=True, blank=True) newmedia_type = models.CharField( '账号类型', max_length=256, null=True, blank=True) function = models.CharField('功能', max_length=256, 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) articleurl = models.TextField('文章URL', null=True, blank=True) biz = models.TextField('BIZ,账号id', null=True, blank=True) created = models.DateTimeField('创建时间', auto_now_add=True) updated = models.DateTimeField('更新时间', auto_now=True) def __str__(self): return self.newmedia_name