Django 批量创建用户和批量像数据库导入文件

import os

import django
from django.utils import timezone

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.setup()
from django.contrib.auth.models import User
from Fantasy.models import Source
from django.core.files import File


def bulk_create():
    username = range(1002, 1030)
    password = ['123456' for i in range(28)]

    for u, p in zip(username, password):
        user = User.objects.create_user(username=u, password=p)
        user.first_name = '用户'
        user.groups.add(1)
        user.is_staff = True
        user.last_login = timezone.now()
        user.save()


def size(path):
    __size = os.path.getsize(path)
    __size = __size / float(1024 * 1024)

    return round(__size, 2)


def bulk_upload(dirpath):
    myfile, __file = None, None

    items = list()
    path_list = list(os.scandir(dirpath))
    for i in path_list:
        if os.path.isfile(i):
            file_size = size(i)
            file_name = os.path.basename(i).split('.')[-2]
            __file = open(i, mode='rb')
            myfile = File(__file, name=os.path.basename(i))

            source = Source(title=file_name, file_size=file_size, file=myfile, pub_date=timezone.now(),
                            category='其他资料')
            items.append(source)

    Source.objects.bulk_create(items)
    myfile.close()
    __file.close()
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弄堂汪

看了觉得好,就请我喝瓶水吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值