# -*- coding: utf-8 -*-
# 用于批量创建数据库的数据
comment_text='这篇文章很好'
article_summary='''
                           “996”工作制，即每天早 9 点到岗，一直工作到晚上 9 点，每周工作 6 天。
“996”工作制的周工作时间为最低 12x6=72 小时。
中国大陆工时规管现况（标准工时）： 一天工作时间为 8 小时，平均每周工时不超过 40 小时；加班上限为一天 3 小时及一个月 36 小时，逾时工作薪金不低于平日工资的 150%。而一周最高工时则为 48 小时。平均每月计薪天数为 21.75 天。
                           '''
artical_text='''
相关法律法规
《中华人民共和国宪法》
第二章第四十三条：
中华人民共和国劳动者有休息的权利。
国家发展劳动者休息和休养的设施，规定职工的工作时间和休假制度。

《中华人民共和国劳动法》
第一章第三条：
劳动者享有平等就业和选择职业的权利、取得劳动报酬的权利、休息休假的权利、获得劳动安全卫生保护的权利、接受职业技能培训的权利、享受社会保险和福利的权利、提请劳动争议处理的权利以及法律规定的其他劳动权利。

第四章第三十六条：
国家实行劳动者每日工作时间不超过八小时、平均每周工作时间不超过四十四小时的工时制度。

第四章第三十九条：
企业因生产特点不能实行本法第三十六条、第三十八条规定的，经劳动行政部门批准，可以实行其他工作和休息办法。

第四章第四十一条：
用人单位由于生产经营需要，经与工会和劳动者协商后可以延长工作时间，一般每日不得超过一小时；因特殊原因需要延长工作时间的，在保障劳动者身体健康的条件下延长工作时间每日不得超过三小时，但是每月不得超过三十六小时。

第四章第四十三条：
用人单位不得违反本法规定延长劳动者的工作时间。

第四章第四十四条：
有下列情形之一的，用人单位应当按照下列标准支付高于劳动者正常工作时间工资的工资报酬：
（一）安排劳动者延长工作时间的，支付不低于工资的百分之一百五十的工资报酬；
（二）休息日安排劳动者工作又不能安排补休的，支付不低于工资的百分之二百的工资报酬；
（三）法定休假日安排劳动者工作的，支付不低于工资的百分之三百的工资报酬。

第十二章第九十条：
用人单位违反本法规定，延长劳动者工作时间的，由劳动行政部门给予警告，责令改正，并可以处以罚款。

第十二章第九十一条：
用人单位有下列侵害劳动者合法权益情形之一的，由劳动行政部门责令支付劳动者的工资报酬、经济补偿，并可以责令支付赔偿金：
……
（二）拒不支付劳动者延长工作时间工资报酬的；
……

《中华人民共和国劳动合同法》
第三章第三十一条：
用人单位应当严格执行劳动定额标准，不得强迫或者变相强迫劳动者加班。用人单位安排加班的，应当按照国家有关规定向劳动者支付加班费。

第五章第六十二条：
用工单位应当履行下列义务：
……
（三）支付加班费、绩效奖金，提供与工作岗位相关的福利待遇；
……

第七章第八十五条：
用人单位有下列情形之一的，由劳动行政部门责令限期支付劳动报酬、加班费或者经济补偿；劳动报酬低于当地最低工资标准的，应当支付其差额部分；逾期不支付的，责令用人单位按应付金额百分之五十以上百分之一百以下的标准向劳动者加付赔偿金：
（一）未按照劳动合同的约定或者国家规定及时足额支付劳动者劳动报酬的；
（二）低于当地最低工资标准支付劳动者工资的；
（三）安排加班不支付加班费的；
……

《国务院关于职工工作时间的规定》
第三条：
职工每日工作8小时、每周工作40小时。

第六条：
任何单位和个人不得擅自延长职工工作时间。因特殊情况和紧急任务确需延长工作时间的，按照国家有关规定执行。

《劳动部贯彻〈国务院关于职工工作时间的规定〉的实施办法》
第三条：
职工每日工作8小时、每周工作40小时。实行这一工时制度，应保证完成生产和工作任务，不减少职工的收入。

第六条：
任何单位和个人不得擅自延长职工工作时间。企业由于生产经营需要而延长职工工作时间的，应按《中华人民共和国劳动法》第四十一条的规定执行。

第八条：
根据本办法第六条、第七条延长工作时间的，企业应当按照《中华人民共和国劳动法》第四十四条的规定，给职工支付工资报酬或安排补休。

相关事件报道
2016 年 9 月初起，陆续有网友爆料称，58同城实行全员 996 工作制，且周末加班没有工资。公司方面回应称，为应对业务量高峰期，公司每年 9、10 月份都会有动员，属常规性活动，而本次“996 动员”并非强制。（58同城实行全员996工作制 被指意图逼员工主动辞职. 央广网. 2016-09-01. ）

2019 年 1 月，杭州电商公司有赞在公司年会宣布未来执行 996 工作制，CEO 白鸦回应“几年后回看，这次绝对是好事”。（年会成了“鸿门宴”，这家公司“强制996”被员工举报. 联商网. 2019-01-22. ）

2019 年 3 月，曝京东开始实行分部门的 996 或 995 工作制，京东公关在脉脉平台上表示：“全情投入”。（京东回应995工作制：不会强制要求 但要全情投入. 网易科技. 2019-03-12. ）

按照劳动法规定，996 工作制下只有拿到当前工资的 2.275 倍，才在经济账上不吃亏。

什么是 996.ICU？工作 996，生病 ICU。
'''

import os,sys
from django.db.models import Avg, Sum, Max, Min, Count
import random

if __name__=='__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE','blog.settings')
    import django
    django.setup()

    from database import models

    # # # 3.1 创建Article数据
    models.Article.objects.all().delete() #删除已有数据
    # 获取Account的ID
    account_obj_ids=[]
    account_objs=models.Account.objects.all()
    for obj in account_objs:
        account_obj_ids.append(obj.id)
    # 插入文件数据
    objs=[]
    for article in range(100):
        obj=models.Article(title='996.ICU',
                           summary=article_summary,
                           text=artical_text,
                           read_num=random.randint(0,10000),
                           comment_num=random.randint(0,100),
                           like_num=random.randint(0,1000),
                           dislike_num=random.randint(0,1000)
                           )
        obj.account_id=random.choice(account_obj_ids) #为文章插入作者
        objs.append(obj)
    models.Article.objects.bulk_create(objs, 10)  # 一次插入10个，共插入100个账户

    # # # 3.2创建Article与分组的关联关系
    category_obj_ids=[]
    category_objs=models.Category.objects.all()
    article_objs=models.Article.objects.all()
    for obj in category_objs:
        category_obj_ids.append(obj.id)

    for obj in article_objs:
        category_ids=random.sample(category_obj_ids,random.randint(0,len(category_obj_ids)))
        obj.category.set(category_ids)