Ejemplo n.º 1
0
def db_handle(request):
    if request.method == 'POST':
        print(request.POST)
        book_name = request.POST.get('name')
        publisher_id = request.POST.get('publisher_id')
        print('==>', request.POST.get('author_ids'))
        author_ids = request.POST.getlist('author_ids')
        print(book_name, publisher_id, author_ids)

        new_book = models.Book(title=book_name,
                               publisher_id=publisher_id,
                               publication_date='2017-05-22')

        new_book.save()
        new_book.authors.add(*author_ids)
        #new_book.authors.add(1,2,3,4)

    books = models.Book.objects.all()
    publisher_list = models.Publisher.objects.all()
    author_list = models.Author.objects.all()

    return render(request, 't1.html', {
        'books': books,
        'publishers': publisher_list,
        'authors': author_list,
    })
Ejemplo n.º 2
0
def another_add(request):
    author_obj = models.Author.objects.first()
    book = models.Book(name="怎样打铁")
    # book.author = author_obj

    author_obj.booklist.add(book, bulk=False)
    return HttpResponse("增加成功啦!!!")
Ejemplo n.º 3
0
Archivo: views.py Proyecto: Roarain/py2
def add_book(request):
    book_list = models.Book.objects.all()
    publisher_list = models.Publisher.objects.all()
    author_list = models.Author.objects.all()
    if request.method == 'POST' and request.POST:
        book_name = request.POST.get('book_name')
        print '书名: %s' % (book_name)
        publisher = request.POST.get('publisher')
        print '出版社ID: %s' % (publisher)
        publish_date = request.POST.get('date')
        print '出版日期: %s' % (publish_date)
        author = request.POST.getlist('author')
        print '作者ID: %s' % (author)

        new_book = models.Book(name=book_name,
                               publisher_id=publisher,
                               publish_date=publish_date)
        new_book.save()
        new_book.author.add(*author)
        return HttpResponse('New Book %s Add Success...' % (book_name))

    return render(
        request, 'add_book.html', {
            'book_list': book_list,
            'publisher_list': publisher_list,
            'author_list': author_list
        })
Ejemplo n.º 4
0
def boot_list(request):
    if request.is_ajax():
        back_dic = {'code':200,'msg':''}
        delete_id = request.POST.get('delete_id')
        time.sleep(1)
        models.Book.objects.filter(pk=delete_id).delete()
        back_dic['msg'] = "删除成功"
        return JsonResponse(back_dic)
    # # ORM 的循环插入数据更快捷的方法:
    book_list = []
    for i in range(1000):
        book_list.append(models.Book(title='第%s本书'%i,price=100,publish_id=100))
    models.Book.objects.bulk_create(book_list)
    # 查询所有的书籍。
    book_list = models.Book.objects.all()
    # 自定义分页器的使用
    current_page = request.GET.get('page',1)
    all_count = book_list.count()
    page_obj = Pagination(current_page=current_page,
                          all_count=all_count,
                          per_page_num=15,
                          pager_count=11)
    # 参数说明:
    # current_page 当前的页数
    # all_count 所有的页数
    # per_page_num 每页显示多少
    # pager_count 分页器显示的条数
    page_queryset = book_list[page_obj.start:page_obj.end]
    return render(request,'book_list.html',locals())
Ejemplo n.º 5
0
def add_more_book(request):
    author_obj = models.Author.objects.first()
    book = models.Book(name="怎样打坦克")
    book.author = author_obj

    book.save()
    return HttpResponse("Success")
Ejemplo n.º 6
0
def add_book(request):
    book = models.Book(title="菜鸟教程",
                       price=300,
                       publish="菜鸟出版社",
                       pub_date="2008-8-8")
    book.save()
    return HttpResponse("<p>数据添加成功!</p>")
Ejemplo n.º 7
0
def add_book1(request):
    book = models.Book(title='QI Konws',
                       price=99,
                       publish='BZH',
                       pub_date='2020-7-20')
    book.save()

    return HttpResponse("<p>Method1 数据添加成果</p>")
Ejemplo n.º 8
0
def book(request):
    if request.method == "POST":
        choose_date = request.POST.get("choose_date")
        # print("choose_date:", choose_date)
        # 获取房间时间段列表
        time_choice = models.Book.time_choice
        try:
            # 向数据库修改房间预订记录
            post_data = json.loads(request.POST.get("post_data"))
            if not post_data["ADD"] and not post_data["DEL"]:
                res = {"status": 2, "msg": ""}
                return HttpResponse(json.dumps(res))
            user = request.user
            # print(type(post_data), post_data)
            # 添加新的预订信息
            book_list = []
            for room_id, time_id_list in post_data["ADD"].items():
                for time_id in time_id_list:
                    book_obj = models.Book(user=user,
                                           room_id=room_id,
                                           time_id=time_id,
                                           date=choose_date)
                    book_list.append(book_obj)
            models.Book.objects.bulk_create(book_list)

            # 删除旧的预订信息
            from django.db.models import Q
            remove_book = Q()
            for room_id, time_id_list in post_data["DEL"].items():
                temp = Q()
                for time_id in time_id_list:
                    temp.children.append(("room_id", room_id))
                    temp.children.append(("time_id", time_id))
                    temp.children.append(("user_id", request.user.pk))
                    temp.children.append(("date", choose_date))
                    remove_book.add(temp, "OR")
            if remove_book:
                models.Book.objects.filter(remove_book).delete()
                for time in post_data["DEL"][room_id]:
                    models.Book.objects.filter(user=user,
                                               room_id=room_id,
                                               time_id=time,
                                               date=choose_date).delete()
            res = {"status": 1, "msg": ''}
        except Exception as e:
            res = {"status": 0, "msg": str(e)}
        return HttpResponse(json.dumps(res))
Ejemplo n.º 9
0
def add(request):

    if request.method == "POST":
        print(request.POST)
        title = request.POST.get("title")
        pubdate = request.POST.get("pubdate")
        price = request.POST.get("price")
        publish = request.POST.get("publish")

        # 插入数据方式1,create有返回值:插入的记录对象:
        # book_obj=models.Book.objects.create(title=title,pubDate=pubdate,price=price,publish=publish)
        # print(book_obj.title)
        # print(book_obj.price)
        # 插入数据方式2:
        book_obj = models.Book(title=title, pubDate=pubdate, publish=publish)
        book_obj.price = price
        book_obj.save()

        return redirect("/index/")

    return render(request, "add2.html")
Ejemplo n.º 10
0
def book_form(request):
    form = forms.BookForm()
    if request.method == "POST":
        print(request.POST)
        form = forms.BookForm(request.POST)
        if form.is_valid():
            print("form is OK")
            print(form.cleaned_data)
            form_data = form.cleaned_data
            print(form_data)
            form_data['publisher_id'] = request.POST.get('publisher_id')
            book_obj = models.Book(**form_data)
            book_obj.save()
        else:
            print(form.errors)

    publisher_list = models.Publisher.objects.all()
    print(form)
    return render(request, 'form.html', {
        'book_form': form,
        'publishers': publisher_list,
    })
Ejemplo n.º 11
0
def ormadd(request):
    #orm2添加一条记录的方法
    #单表
    #1、表.objects.create()
    models.Publish.objects.create(name='浙江出版社',addr="浙江.杭州")
    models.Classify.objects.create(category='武侠')
    models.Author.objects.create(name='金庸',sex='男',age=89,university='东吴大学')
    # #2.obj=类(属性=XX) obj.save()
    obj=models.Author(name='吴承恩',age=518,sex='男',university='龙溪学院')
    obj.save()

    # 1对多
    # 1.表.objects.create()
    models.Book.objects.create(title='笑傲江湖',price=200,date=1968,classify_id=6, publish_id=6)
    #2、obj=类(属性=X,外键=obj)obj.save()
    classify_obj=models.Classify.objects.get(category='武侠')
    publish_obj=models.Publish.objects.get(name='河北出版社')
    # #注意以上获取得是和 book对象 向关联的(外键)的对象
    book_obj=models.Book(title='西游记',price=234,date=1556,classify=classify_obj,publish=publish_obj)
    book_obj.save()

    #多对多:如果两表之间存在双向1对N关系,就无法使用外键来描述其关系了;
    # 只能使用多对多的方式,新增第三张表关系描述表;
    book=models.Book.objects.get(title='笑傲江湖')
    author1=models.Author.objects.get(name='金庸')
    author2=models.Author.objects.get(name='张根')
    book.author.add(author1,author2)
    # 书籍和作者是多对多关系,
    # 切记:如果两表之间存在多对多关系,例如书籍相关的所有作者对象集合,作者也关联的所有书籍对象集合
    book=models.Book.objects.get(title='西游记')
    author=models.Author.objects.get(name='吴承恩')
    author2 = models.Author.objects.get(name='张根')
    book.author.add(author,author2)
    #add()   添加
    #clear() 清空
    #remove() 删除某个对象
    return HttpResponse('OK')
Ejemplo n.º 12
0
def book(request):
    if request.method == 'POST':
        print(request.POST)
        book_name = request.POST.get('name')
        publisher_id = request.POST.get('publisher_id')
        print('==>', request.POST.get('author_ids'))
        author_ids = request.POST.getlist('author_ids')

        print(book_name, publisher_id, author_ids)
        new_book = models.Book(name=book_name,
                               publisher_id=publisher_id,
                               publish_date='2017-09-28')
        new_book.save()
        new_book.authors.add(*author_ids)

    books = models.Book.objects.all()
    publisher_list = models.Publisher.objects.all()
    author_list = models.Athor.objects.all()

    return render(request, 'app01/book.html', {
        'books': books,
        'publishers': publisher_list,
        'authors': author_list,
    })
Ejemplo n.º 13
0
def booking(reqeust):
    if reqeust.method == "GET":
        response = {'status':True,'msg':None,'data':None}
        try:
            import datetime
            current_date = datetime.datetime.now().date()
            choice_date = reqeust.GET.get('choice_date')
            choice_date = datetime.datetime.strptime(choice_date, '%Y-%m-%d').date()

            if choice_date < current_date:
                raise Exception('日期必须大于等于当前')
            booking_list = models.Book.objects.filter(date=choice_date)
            print(models.Book.date)
            booking_dict = {}
            for item in booking_list:
                if item.room_id not in booking_dict:
                    booking_dict[item.room_id] = {item.time_id: {'name': item.user.user, 'id': item.user_id}}
                else:
                    booking_dict[item.room_id][item.time_id] = {'name': item.user.user, 'id': item.user_id}

            # ############ 生成会议室信息 #################
            booking_info = []

            room_list = models.Room.objects.all()

            for room in room_list:
                td_list = [{'text':room.caption,'attrs':{}}, ]
                for tm in models.Book.time_choices:
                    if room.id in booking_dict and tm[0] in booking_dict[room.id]:
                        # 已预定
                        user_info = booking_dict[room.id][tm[0]]
                        #if user_info == request.session['xxxxx']['id']:
                        # 登录用户1,少尉
                        # 登录用户2,海东
                        if user_info['id'] == 2:
                            # 自己预定
                            # print(room.id, room.caption, tm[0], tm[1], user_info['name'])
                            td_list.append({'text': '自己预定', 'attrs': {'class':'chosen','room_id':room.id,'time_id':tm[0]}})
                        else:
                            # 别人预定
                            # print(room.id, room.caption, tm[0], tm[1], user_info['name'], 'disabled')
                            td_list.append({'text': user_info['name'], 'attrs': {'room_id':room.id,'time_id':tm[0],'class':'chosen','f**k':'true'},})

                    else:
                        td_list.append({'text':'','attrs':{ 'room_id':room.id,'time_id':tm[0] }})

                booking_info.append(td_list)
            response['data'] = booking_info
        except Exception as e:
            response['status'] = False
            response['msg'] = str(e)
        return JsonResponse(response)
    else:
        response = {'status': True, 'msg': None, 'data': None}
        try:
            import datetime
            current_date = datetime.datetime.now().date()
            choice_date = reqeust.POST.get('date')
            choice_date = datetime.datetime.strptime(choice_date, '%Y-%m-%d').date()
            if choice_date < current_date:
                raise Exception('日期必须大于等于当前')


            post_data = json.loads(reqeust.POST.get('data'))
            # {'DEL': {'4': ['5','6'],'7':[1,2]}, 'ADD': {'1': ['2', '3'], '2': ['3'], '4': ['5']}}
            for room_id,time_list in post_data['DEL'].items():
                if room_id not in post_data['ADD']:
                    continue
                for time_id in list(time_list):
                    if time_id in post_data['ADD'][room_id]:
                        post_data['ADD'][room_id].remove(time_id)
                        post_data['DEL'][room_id].remove(time_id)

            # 增加预定
            book_obj_list = []
            for room_id,time_list in post_data['ADD'].items():
                for time_id in time_list:
                    # models.Book.objects.create(room_id=room_id,time_id=time_id,user_id=2,date=choice_date)
                    obj = models.Book(room_id=room_id, time_id=time_id, user_id=2, date=choice_date)
                    book_obj_list.append(obj)
            models.Book.objects.bulk_create(book_obj_list)

            # 删除会议室预定信息
            from django.db.models import Q
            remove_booking = Q()
            for room_id, time_id_list in post_data['DEL'].items():
                for time_id in time_id_list:
                    temp = Q()
                    temp.connector = 'AND'
                    temp.children.append(('user_id',2,))
                    temp.children.append(('date', choice_date))
                    temp.children.append(('room_id', room_id,))
                    temp.children.append(('time_id', time_id,))

                    remove_booking.add(temp, 'OR')
            if remove_booking:
                models.Book.objects.filter(remove_booking).delete()
        except Exception as e:
            response['status'] = False
            response['msg'] = str(e)

        return JsonResponse(response)
Ejemplo n.º 14
0
import os


if __name__ == '__main__':
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "自定增删改查的组件.settings")
    import django
    django.setup()
    from app01 import models


    # 批量添加数据
    book_list = []
    for i in range(1,101):
        new_book_obj = models.Book(title="book_{}".format(i))
        book_list.append(new_book_obj)
    models.Book.objects.bulk_create(book_list)

Ejemplo n.º 15
0
def initBook(request):
    if request.method == 'GET':
        user_id = request.session['user'].get('id')
        rooms = models.Room.objects.all()
        time_choices = models.Book.time_choice
        date = request.GET.get('date')
        date = datetime.datetime.strptime(date, '%Y-%m-%d').date()
        nowdate = datetime.datetime.now().date()
        if date >= nowdate:
            books = models.Book.objects.filter(date=date)
            print(books)
            book_dic = {}
            for book in books:
                if book.room_id in book_dic:
                    book_dic[book.room_id][book.time] = {
                        'username': book.user.name,
                        'userid': book.user.id
                    }
                else:
                    book_dic[book.room_id] = {
                        book.time: {
                            'username': book.user.name,
                            'userid': book.user.id
                        }
                    }
            data = []
            for room in rooms:
                tr = []
                tr.append({'text': room.name, 'attrs': {}})
                for tm in time_choices:
                    if room.id in book_dic and tm[0] in book_dic[room.id]:
                        if user_id == book_dic[room.id][tm[0]]['userid']:
                            td = {
                                'text': book_dic[room.id][tm[0]]['username'],
                                'attrs': {
                                    'roomid': room.id,
                                    'tm': tm[0],
                                    'class': "chosen"
                                }
                            }
                        else:
                            td = {
                                'text': book_dic[room.id][tm[0]]['username'],
                                'attrs': {
                                    'roomid': room.id,
                                    'tm': tm[0],
                                    'class': "chosen",
                                    'fk': 'true'
                                }
                            }
                    else:
                        td = {
                            'text': '',
                            'attrs': {
                                'roomid': room.id,
                                'tm': tm[0]
                            }
                        }
                    tr.append(td)

                data.append(tr)
            reponse = {"data": data}
            print(data)

            return JsonResponse(reponse)

        else:
            raise Exception("只能预定今天或者以后的会议室")
    elif request.method == "POST":
        response = {'status': True, 'msg': None, 'data': None}
        try:
            print(123)
            date = request.POST.get('date')
            date = datetime.datetime.strptime(date, '%Y-%m-%d').date()
            nowdate = datetime.datetime.now().date()

            data = request.POST.get('data')
            data = json.loads(data)
            print(date)
            print(data)
            if date >= nowdate:
                #判断del和add中有没有重复
                for room_id, tm_list in data.get("del").items():
                    if room_id not in data.get('add'):
                        continue
                    for tm in list(tm_list):
                        if tm in data['add'][room_id]:
                            data['del'][room_id].remove(tm)
                            data['add'][room_id].remove(tm)

                #增加预定
                add_list = []
                user_id = request.session['user'].get('id')
                for room_id, tm_list in data['add'].items():
                    for tm in tm_list:
                        book = models.Book(room_id=room_id,
                                           user_id=user_id,
                                           date=date,
                                           time=tm)
                        add_list.append(book)
                models.Book.objects.bulk_create(add_list)

                #取消预定
                from django.db.models import Q
                remove_books = Q()
                for room_id, tm_list in data['del'].items():
                    print(room_id, '-------')
                    for tm in tm_list:
                        print(tm, '******')
                        temp = Q()
                        temp.connector = 'AND'
                        temp.children.append(('user_id', user_id))
                        temp.children.append(('date', date))
                        temp.children.append((
                            'room_id',
                            room_id,
                        ))
                        temp.children.append((
                            'time',
                            tm,
                        ))

                        remove_books.add(temp, 'OR')

                if remove_books:
                    print(remove_books)
                    print(123)
                    models.Book.objects.filter(remove_books).delete()
            else:
                raise Exception("只能预定今天或者以后的会议室")
        except Exception as e:
            response['status'] = False
            response['msg'] = str(e)
        return JsonResponse(response)
Ejemplo n.º 16
0
def add_book(request):
    # 记录的增删改查
    # 1添加
    # 添加数据记录  方式1
    new_book = models.Book(
        title='金瓶梅',
        price=9.91,
        # pub_date=datetime.datetime.now()
        # 添加时间日期类型数据时可以是时间日期类型的数据,
        # 也可以是字符串数据
        pub_date='2022-02-02',
        publish='32期出版社'
        # 有默认值的或者可以为空的或者主键字段,都可以不用传值
    )
    # new_book.save()

    # 添加方式2 create方法,create方法的返回值为 新添加的数据的模型类对象
    # 	new_book = models.Book.objects.create(
    # 		title='金瓶梅4',
    # 		price=19.9,
    # 		pub_date='2020-04-02',
    # 		publish='32期出版社'
    # 	)

    # print(new_book.title) #金瓶梅4
    # print(new_book.price) #19.9

    # 批量添加
    # 	obj_list = []
    # 	for i in range(2):
    # 		book_obj = models.Book(
    # 			title=f'少年闰土{i}',
    # 			# 和js的$(变量名)取值类似
    # 			price=10 + i,
    # 			pub_date=f'2022-04-1{i}',
    # 			publish='32期出版社'
    # 		)
    # 		obj_list.append(book_obj)
    #
    # 	print(obj_list)
    # # [<Book: Book object>, <Book: Book object>,
    # # [<Book: 少年闰土0>, <Book: 少年闰土1>]  models中加了 __str__魔术方法
    # 	models.Book.objects.bulk_create((obj_list))  #bulk_create 批量添加

    # 2 查询
    # 01 查询所有
    # book_objs = models.Book.objects.all() # #queryset 类似于列表
    # print(book_objs)
    # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>,

    #02 指定条件查询  方法1
    # 结果为queryset类型数据
    # book_objs = models.Book.objects.filter(id=4)
    # print(book_objs)
    # <QuerySet [<Book: 金瓶梅4>]>

    # 	book_objs = models.Book.objects.filter()
    # # filter没有加条件,和all一样的效果
    # 	print(book_objs)
    # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>,

    # book_objs = models.Book.objects.filter(id=100)
    # print(book_objs)
    # <QuerySet []>

    #02 指定条件查询  方法2
    # 	book_objs = models.Book.objects.get(id=4)
    # ## 条件查找 结果为: 模型类对象
    # 	print(book_objs)
    # #金瓶梅4

    # 	book_objs = models.Book.objects.get()  #查所有
    # # 但是get方法的查询结果有要求,有且只能有一条
    # 	print(book_objs)
    # 	book_objs = models.Book.objects.get(id=100)  # 查询不到结果会报错 Book matching query does not exist.
    # 	# 查询结果多于一条也会报错
    # 	print(book_objs)
    # get() returned more than one Book -- it returned 16!

    # 3 删除  方法1
    # 	models.Book.objects.filter(id=3).delete()
    #queryset类型数据可以调用delete方法删除查询结果数据

    # 方法2
    # 	models.Book.objects.get(id=4).delete()

    # 4 修改
    # 修改方式1  通过queryset类型数据修改
    # 	models.Book.objects.filter(id=5).update(
    # 	price=20,
    # 	title='读书'
    # 	)

    # models.Book.objects.get(id=5).update(
    # 	price=30, #报错:模型类对象不能调用update方法
    # )
    # 'Book' object has no attribute 'update'

    # 修改方式2  通过模型类对象来修改
    # 	ret = models.Book.objects.get(id=5)
    # 	ret.price = 30
    # 	ret.title = '健身'
    # 	ret.save()

    # DatetimeField、DateField、TimeField这个三个时间字段,都可以设置如下属性
    # (7)auto_now_add
    #     配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。
    #
    # (8)auto_now
    #     配置上auto_now=True,每次更新数据记录的时候会更新该字段,
    #     标识这条记录最后一次的修改时间。

    # 测试auto_now和auto_now_add两个参数
    # 新添加的数据的模型类对象
    # 	models.userinfo.objects.create(
    # 		name='xx3',
    # 	)

    # models.userinfo.objects.filter(id=1).update(
    # 	# (  #update不能触发自动更新时间的auto_now参数的作用,
    # 	# 	# 如果用update方法来更新记录,并保存更新记录的时间,
    # 	# 	需要我们手动给该字段传入当前时间
    # 	name='投资',
    # 	b1 = datetime.datetime.now()
    # )

    # 这种save方式能够触发auto_now参数自动更新修改时间的动作
    # 	ret = models.userinfo.objects.get(id=1)
    # 	ret.name = '读书'
    # 	ret.save()

    # 基于双下划线的模糊查询
    # 查询书名以少年开头的哪些书
    # 	obj_list = models.Book.objects.filter(title__startswith='少年')
    # 	#以什么开头
    # 	print(obj_list)
    # #<QuerySet [<Book: 少年闰土1>, <Book: 少年闰土2>,

    # 	obj_list = models.Book.objects.filter(title__endswith='梅')
    # #以什么结尾
    # 	print(obj_list)
    # # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>]>

    # obj_list = models.Book.objects.filter(title__startswith='p')
    # print(obj_list)
    # <QuerySet [<Book: python少年闰土1>]>

    # 	obj_list = models.Book.objects.filter(title__istartswith='p')
    # #不区分大小写
    # 	print(obj_list)
    # # <QuerySet [<Book: python少年闰土1>, <Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(title__contains='th')
    # #包含
    # 	print(obj_list)
    # # <QuerySet [<Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(title__icontains='th')
    # #包含 不区分大小写
    # 	print(obj_list)
    # # <QuerySet [<Book: pytHon少年闰土1>, <Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(price__gt=18) #大于
    # 	print(obj_list)
    # # <QuerySet [<Book: 健身>, <Book: 少年闰土9>]>

    # obj_list = models.Book.objects.filter(price__gte=19) #大于等于
    # print(obj_list)
    # <QuerySet [<Book: 健身>, <Book: 少年闰土9>]>

    # obj_list = models.Book.objects.filter(price__lt=10) #小于
    # print(obj_list)
    # #<QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>]>

    # obj_list = models.Book.objects.filter(price__lte=10)  #小于等于
    # print(obj_list)
    # QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>, <Book: 少年闰土0>]>

    # 	obj_list = models.Book.objects.filter(price__in=[15,18,30])
    # #价格等于15或者等于18或者等于30的书籍
    # 	print(obj_list)
    # #<QuerySet [<Book: 健身>, <Book: 少年闰土5>, <Book: 少年闰土8>]>

    # 	obj_list = models.Book.objects.filter(price__range=[15,17])
    # #价格大于等于15并且小于等于17, between and
    # 	print(obj_list)
    #<QuerySet [<Book: 少年闰土5>, <Book: 少年闰土6>, <Book: 少年闰土7>]>

    # 	obj_list = models.Book.objects.filter(id=10,price=15)
    # #逗号连接的查询条件就是and的关系
    # 	print(obj_list)
    # <QuerySet [<Book: 少年闰土5>]>

    # 	obj_list = models.Book.objects.filter(pub_date__year='2020')
    # #2020年的所有书籍
    # 	print(obj_list)
    # # <QuerySet [<Book: 少年闰土1>]>

    # 	obj_list = models.Book.objects.filter\
    # 		(pub_date__year='2020',pub_date__month='04')
    # #2020年4月份的所有书籍
    # 	print(obj_list)
    # # <QuerySet [<Book: 少年闰土1>]>

    # 	obj_list = models.Book.objects.filter(pub_date__year='2020',
    # 	                                      pub_date__month='04',
    # 	                                      pub_date__day='11')
    # # 2020年4月11号的所有书籍  方法1
    # 	print(obj_list)
    # # # <QuerySet [<Book: 少年闰土1>]>

    obj_list = models.Book.objects.filter(pub_date='2020-04-11')
    # # 2020年4月11号的所有书籍  方法2  推荐
    print(obj_list)
    # # # <QuerySet [<Book: 少年闰土1>]>

    return HttpResponse('ok')
Ejemplo n.º 17
0
def addata(request):
    """
    批量添加数据
    :param request:
    :return:
    """
    # 批量插入Publisher表
    models.Publisher.objects.bulk_create([
        models.Publisher(name="人民出版社",
                         address="福州",
                         city="福州",
                         state_province="福建",
                         country="中国",
                         website="http://www.pph166.com/"),
        models.Publisher(name="中国财经出版社",
                         address="北京",
                         city="北京",
                         state_province="北京",
                         country="中国",
                         website="http://cfeph.cfemg.cn/"),
        models.Publisher(name="机械工业出版社",
                         address="上海",
                         city="上海",
                         state_province="上海",
                         country="中国",
                         website="http://www.cmpedu.com/"),
        models.Publisher(name="新世纪出版社",
                         address="深圳",
                         city="深圳",
                         state_province="广东",
                         country="中国",
                         website="http://www.gdpg.com.cn/"),
        models.Publisher(name="中国法制出版社",
                         address="南昌",
                         city="南昌",
                         state_province="江西",
                         country="中国",
                         website="http://www.zgfzs.com/"),
        models.Publisher(name="人民邮电出版社",
                         address="南宁",
                         city="南宁",
                         state_province="广西",
                         country="中国",
                         website="https://www.ptpress.com.cn/"),
        models.Publisher(name="中国农业出版社",
                         address="北京",
                         city="北京",
                         state_province="北京",
                         country="中国",
                         website="http://www.ccap.com.cn/"),
        models.Publisher(name="人民卫生出版社",
                         address="厦门",
                         city="厦门",
                         state_province="福建",
                         country="中国",
                         website="http://www.pmph.com/"),
        models.Publisher(name="石油工业出版社",
                         address="广东",
                         city="广东",
                         state_province="广东",
                         country="中国",
                         website="http://www.petropub.com/"),
    ])

    # 批量插入Author表
    models.Author.objects.bulk_create([
        models.Author(name='ShiZhongyu'),
        models.Author(name='SunDasheng'),
        models.Author(name='LinDaiyu'),
        models.Author(name='LinChong'),
        models.Author(name='MaChao'),
        models.Author(name='XieYanke'),
        models.Author(name='TianBoguang'),
        models.Author(name='YuanChengzhi'),
    ])

    # 批量插入AuthorDetail表
    models.AuthorDetail.objects.bulk_create([
        models.AuthorDetail(
            sex=0,
            email="*****@*****.**",
            address="深圳市",
            birthday="1989-08-30",
            author_id=1,
        ),
        models.AuthorDetail(
            sex=1,
            email="*****@*****.**",
            address="北京市",
            birthday="1988-01-30",
            author_id=2,
        ),
        models.AuthorDetail(
            sex=0,
            email="*****@*****.**",
            address="龙岩市",
            birthday="1985-05-30",
            author_id=3,
        ),
        models.AuthorDetail(
            sex=1,
            email="*****@*****.**",
            address="广东市",
            birthday="1985-04-30",
            author_id=4,
        ),
        models.AuthorDetail(
            sex=1,
            email="*****@*****.**",
            address="广西市",
            birthday="1986-02-28",
            author_id=5,
        ),
        models.AuthorDetail(
            sex=0,
            email="*****@*****.**",
            address="上海市",
            birthday="1987-08-30",
            author_id=6,
        ),
        models.AuthorDetail(
            sex=1,
            email="*****@*****.**",
            address="南京市",
            birthday="1987-04-30",
            author_id=7,
        ),
        models.AuthorDetail(
            sex=0,
            email="*****@*****.**",
            address="长沙市",
            birthday="1986-06-30",
            author_id=8,
        ),
    ])

    # 批量插入Book表
    models.Book.objects.bulk_create([
        models.Book(title="鸟哥的Linux私房菜",
                    publication_date="1984-06-30",
                    price=36,
                    publisher_id=1),
        models.Book(title="Linux内核设计与实现",
                    publication_date="1983-05-30",
                    price=60,
                    publisher_id=2),
        models.Book(title="Linux入门到精通",
                    publication_date="1981-04-30",
                    price=45,
                    publisher_id=1),
        models.Book(title="Python入门手册",
                    publication_date="1989-08-30",
                    price=64,
                    publisher_id=3),
        models.Book(title="Python基础教程",
                    publication_date="1985-06-30",
                    price=37,
                    publisher_id=4),
        models.Book(title="Python核心编程",
                    publication_date="1982-04-30",
                    price=52,
                    publisher_id=3),
        models.Book(title="Go语言实战",
                    publication_date="1987-01-30",
                    price=49,
                    publisher_id=5),
        models.Book(title="Go核心编程",
                    publication_date="1983-09-30",
                    price=20,
                    publisher_id=6),
        models.Book(title="Go并发编程实战",
                    publication_date="1987-06-30",
                    price=30,
                    publisher_id=5),
        models.Book(title="机器学习",
                    publication_date="1983-08-30",
                    price=50,
                    publisher_id=7),
        models.Book(title="Linux就是这个范",
                    publication_date="1984-02-18",
                    price=26,
                    publisher_id=8),
        models.Book(title="Php入门到精通",
                    publication_date="1982-01-30",
                    price=47,
                    publisher_id=9),
    ])

    # 批量插入ManyToMang第三张表
    for i in range(1, 13):
        print(i)
        book_obj = models.Book.objects.get(id=i)
        import random
        num_list = []
        if len(num_list) == 2:
            num_list[0] = ""
            num_list[1] = ""
        num = random.randint(1, 8)
        num1 = random.randint(1, 8)
        num_list.append(num)
        if num == num1:
            num1 = random.randint(1, 8)
            num_list.append(num1)
        num_list.append(num1)
        book_obj.authors.add(*num_list)

    return render(request, 'addata.html')
Ejemplo n.º 18
0
    # ret = models.Employee.objects.all().values("id", "dept")
    # print(ret)

    from django.db.models import Avg
    # ret = models.Employee.objects.values("dept").annotate(avg=Avg("salary")).values("dept","avg")
    # print(ret)

    # ret = models.Employee2.objects.values("dept_id").annotate(avg=Avg("salary")).values("dept__name","avg")
    # print(ret)

    # 查所有的员工和部门名称
    # ret = models.Employee2.objects.values("name", "dept__name")
    # print(ret)
    #
    # ret = models.Employee2.objects.select_related().values("name", "dept__name")
    # print(ret)
    #
    # ret = models.Author.objects.select_related("books__title").values("name", "books__title")
    # print(ret)
    # print("=" * 120)
    # ret = models.Author.objects.prefetch_related("books__title").values("name", "books__title")
    # print(ret)

    # 批量创建
    # 有100个书籍对象
    objs = [models.Book(title="沙河{}".format(i)) for i in range(1500)]

    # 在数据库中批量创建, 10次一提交
    models.Book.objects.bulk_create(objs, 10)

    # models.Book.objects.all().delete()
Ejemplo n.º 19
0
def query(request):
    # 记录的增删改查
    # 1添加
    # 添加数据记录  方式1
    new_book = models.Book(
        title='金瓶梅',
        price=9.91,
        # pub_date=datetime.datetime.now()
        # 添加时间日期类型数据时可以是时间日期类型的数据,
        # 也可以是字符串数据
        pub_date='2022-02-02',
        publish='32期出版社'
        # 有默认值的或者可以为空的或者主键字段,都可以不用传值
    )
    # new_book.save()

    # 添加方式2 create方法,create方法的返回值为 新添加的数据的模型类对象
    # 	new_book = models.Book.objects.create(
    # 		title='金瓶梅4',
    # 		price=19.9,
    # 		pub_date='2020-04-02',
    # 		publish='32期出版社'
    # 	)

    # print(new_book.title) #金瓶梅4
    # print(new_book.price) #19.9

    # 批量添加
    # 	obj_list = []
    # 	for i in range(2):
    # 		book_obj = models.Book(
    # 			title=f'少年闰土{i}',
    # 			# 和js的$(变量名)取值类似
    # 			price=10 + i,
    # 			pub_date=f'2022-04-1{i}',
    # 			publish='32期出版社'
    # 		)
    # 		obj_list.append(book_obj)
    #
    # 	print(obj_list)
    # # [<Book: Book object>, <Book: Book object>,
    # # [<Book: 少年闰土0>, <Book: 少年闰土1>]  models中加了 __str__魔术方法
    # 	models.Book.objects.bulk_create((obj_list))  #bulk_create 批量添加

    # 2 查询
    # 01 查询所有
    # book_objs = models.Book.objects.all() # #queryset 类似于列表
    # print(book_objs)
    # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>,

    #02 指定条件查询  方法1
    # 结果为queryset类型数据
    # book_objs = models.Book.objects.filter(id=4)
    # print(book_objs)
    # <QuerySet [<Book: 金瓶梅4>]>

    # 	book_objs = models.Book.objects.filter()
    # # filter没有加条件,和all一样的效果
    # 	print(book_objs)
    # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>,

    # book_objs = models.Book.objects.filter(id=100)
    # print(book_objs)
    # <QuerySet []>

    #02 指定条件查询  方法2
    # 	book_objs = models.Book.objects.get(id=4)
    # ## 条件查找 结果为: 模型类对象
    # 	print(book_objs)
    # #金瓶梅4

    # 	book_objs = models.Book.objects.get()  #查所有
    # # 但是get方法的查询结果有要求,有且只能有一条
    # 	print(book_objs)
    # 	book_objs = models.Book.objects.get(id=100)  # 查询不到结果会报错 Book matching query does not exist.
    # 	# 查询结果多于一条也会报错
    # 	print(book_objs)
    # get() returned more than one Book -- it returned 16!

    # 3 删除  方法1
    # 	models.Book.objects.filter(id=3).delete()
    #queryset类型数据可以调用delete方法删除查询结果数据

    # 方法2
    # 	models.Book.objects.get(id=4).delete()

    # 4 修改
    # 修改方式1  通过queryset类型数据修改
    # 	models.Book.objects.filter(id=5).update(
    # 	price=20,
    # 	title='读书'
    # 	)

    # models.Book.objects.get(id=5).update(
    # 	price=30, #报错:模型类对象不能调用update方法
    # )
    # 'Book' object has no attribute 'update'

    # 修改方式2  通过模型类对象来修改
    # 	ret = models.Book.objects.get(id=5)
    # 	ret.price = 30
    # 	ret.title = '健身'
    # 	ret.save()

    # DatetimeField、DateField、TimeField这个三个时间字段,都可以设置如下属性
    # (7)auto_now_add
    #     配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。
    #
    # (8)auto_now
    #     配置上auto_now=True,每次更新数据记录的时候会更新该字段,
    #     标识这条记录最后一次的修改时间。

    # 测试auto_now和auto_now_add两个参数
    # 新添加的数据的模型类对象
    # 	models.userinfo.objects.create(
    # 		name='xx3',
    # 	)

    # models.userinfo.objects.filter(id=1).update(
    # 	# (  #update不能触发自动更新时间的auto_now参数的作用,
    # 	# 	# 如果用update方法来更新记录,并保存更新记录的时间,
    # 	# 	需要我们手动给该字段传入当前时间
    # 	name='投资',
    # 	b1 = datetime.datetime.now()
    # )

    # 这种save方式能够触发auto_now参数自动更新修改时间的动作
    # 	ret = models.userinfo.objects.get(id=1)
    # 	ret.name = '读书'
    # 	ret.save()

    # 基于双下划线的模糊查询
    # 查询书名以少年开头的哪些书
    # 	obj_list = models.Book.objects.filter(title__startswith='少年')
    # 	#以什么开头
    # 	print(obj_list)
    # #<QuerySet [<Book: 少年闰土1>, <Book: 少年闰土2>,

    # 	obj_list = models.Book.objects.filter(title__endswith='梅')
    # #以什么结尾
    # 	print(obj_list)
    # # <QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>]>

    # obj_list = models.Book.objects.filter(title__startswith='p')
    # print(obj_list)
    # <QuerySet [<Book: python少年闰土1>]>

    # 	obj_list = models.Book.objects.filter(title__istartswith='p')
    # #不区分大小写
    # 	print(obj_list)
    # # <QuerySet [<Book: python少年闰土1>, <Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(title__contains='th')
    # #包含
    # 	print(obj_list)
    # # <QuerySet [<Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(title__icontains='th')
    # #包含 不区分大小写
    # 	print(obj_list)
    # # <QuerySet [<Book: pytHon少年闰土1>, <Book: Python少年闰土2>]>

    # 	obj_list = models.Book.objects.filter(price__gt=18) #大于
    # 	print(obj_list)
    # # <QuerySet [<Book: 健身>, <Book: 少年闰土9>]>

    # obj_list = models.Book.objects.filter(price__gte=19) #大于等于
    # print(obj_list)
    # <QuerySet [<Book: 健身>, <Book: 少年闰土9>]>

    # obj_list = models.Book.objects.filter(price__lt=10) #小于
    # print(obj_list)
    # #<QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>]>

    # obj_list = models.Book.objects.filter(price__lte=10)  #小于等于
    # print(obj_list)
    # QuerySet [<Book: 金瓶梅>, <Book: 金瓶梅>, <Book: 少年闰土0>]>

    # 	obj_list = models.Book.objects.filter(price__in=[15,18,30])
    # #价格等于15或者等于18或者等于30的书籍
    # 	print(obj_list)
    # #<QuerySet [<Book: 健身>, <Book: 少年闰土5>, <Book: 少年闰土8>]>

    # 	obj_list = models.Book.objects.filter(price__range=[15,17])
    # #价格大于等于15并且小于等于17, between and
    # 	print(obj_list)
    #<QuerySet [<Book: 少年闰土5>, <Book: 少年闰土6>, <Book: 少年闰土7>]>

    # 	obj_list = models.Book.objects.filter(id=10,price=15)
    # #逗号连接的查询条件就是and的关系
    # 	print(obj_list)
    # <QuerySet [<Book: 少年闰土5>]>

    # 	obj_list = models.Book.objects.filter(pub_date__year='2020')
    # #2020年的所有书籍
    # 	print(obj_list)
    # # <QuerySet [<Book: 少年闰土1>]>

    # 	obj_list = models.Book.objects.filter\
    # 		(pub_date__year='2020',pub_date__month='04')
    # #2020年4月份的所有书籍
    # 	print(obj_list)
    # # <QuerySet [<Book: 少年闰土1>]>

    # 	obj_list = models.Book.objects.filter(pub_date__year='2020',
    # 	                                      pub_date__month='04',
    # 	                                      pub_date__day='11')
    # # 2020年4月11号的所有书籍  方法1
    # 	print(obj_list)
    # # # <QuerySet [<Book: 少年闰土1>]>

    # 	obj_list = models.Book.objects.filter(pub_date = '2020-04-11')
    # # # 2020年4月11号的所有书籍  方法2  推荐
    # 	print(obj_list)
    # # # <QuerySet [<Book: 少年闰土1>]>

    # 1 all
    # 2 filter
    # 3 get

    # 4 exclude 排除
    # 返回结果为queryset类型数据,
    # 通过objects控制器可以调用,queryset类型数据也能调用
    # 	obj_list = Book.objects.exclude(id!=2)
    #   不支持!=
    # 	obj_list = Book.objects.exclude(id=2)
    # 	# print(obj_list)
    # 	obj_list = obj_list.filter(title='少年闰土4')
    # 	print(obj_list)
    # # <QuerySet [<Book: 少年闰土4>]>
    # 	obj_list = obj_list.all()
    # 	print(obj_list) # <QuerySet [<Book: 少年闰土4>]>
    #
    # 	obj_list = Book.objects.exclude(id=2).filter(title__contains='少年').exclude(id=7)
    # 	print(obj_list)

    #5  order_by 排序
    # 返回结果为queryset类型数据,queryset类型数据可以调用这个方法
    obj_list = Book.objects.all().order_by('id')
    # 按照id升序排列
    # 	print(obj_list)

    # 	obj_list = Book.objects.all().order_by('-id')
    # # 按照id降序排列
    # 	print(obj_list)
    # '''select * from app01_book order by id desc;'''

    # 	obj_list = Book.objects.all().order_by('price','-id')
    # #按照价格升序排列,价格相同的按照id降序排列
    # 	print(obj_list)

    # 6 reverse()  反转
    # 翻转必须在排序数据的基础上
    # 返回结果为queryset类型数据,queryset类型数据可以调用这个方法
    # obj_list = Book.objects.all().order_by('-id').reverse()
    # print(obj_list)

    #7 count
    #queryset类型的数据来调用,返回数据库中匹配查询(QuerySet)的对象数量。
    # queryset类型数据可以调用这个方法,返回值为数字
    # obj_list = Book.objects.all().count()
    # print(obj_list)  #8

    # 8 9 first\last
    # 返回第一条/最后一条记录
    # queryset类型数据可以调用这个方法,返回值为模型类对象,不是queryset类型
    # obj_list = Book.objects.all().first()
    # print(obj_list)  #金瓶梅

    # obj_list = Book.objects.all().last()
    # print(obj_list) #少年闰土6

    # obj_list = Book.objects.all()[0]  #第一条
    # print(obj_list)  #金瓶梅

    # 10 exists
    # 判断查询结果是有数据  返回True 或者False
    # queryset类型数据可以调用这个方法
    # 	obj_list = Book.objects.all().exists()
    # 	print(obj_list)  #True
    #判断是否有数据的效率高,只找一条记录就返回 limit 1

    # 11 values   ***
    # 可以获取指定字段数据
    # objects可以调用, queryset也能调用,
    # 返回结果还是queryset,内容为一个个字典数据
    obj_list = Book.objects.values('title', 'price')
    # print(obj_list)
    # <QuerySet [{'title': '金瓶梅', 'price': Decimal('9.90')},
    # {'title': '健身', 'price': Decimal('30.00')}

    # obj_list = Book.objects.filter(id=5).values('title','price')
    # print(obj_list)
    # <QuerySet [{'title': '健身', 'price': Decimal('30.00')}]>

    #12  values_list   ***
    # 可以获取指定字段数据,返回结果还是queryset,内容为一个个元组数据
    # 	obj_list = Book.objects.values_list('title','price')
    # 	print(obj_list)
    # <QuerySet [('金瓶梅', Decimal('9.90')), ('健身', Decimal('30.00')),
    # 	obj_list = Book.objects.filter(id=5).values_list('title','price')
    # 	print(obj_list)
    # <QuerySet [('健身', Decimal('30.00'))]>

    #13 distinct 去重
    # 一般配合values和values_list来使用
    obj_list = Book.objects.values('price').distinct()
    print(obj_list)
    # <QuerySet [{'price': Decimal('9.90')}, {'price': Decimal('30.00')}, {'price': Decimal('11.00')}, {'price'
    # : Decimal('12.00')}, {'price': Decimal('13.00')}, {'price': Decimal('15.00')}, {'price': Decimal('16.00')
    # }]>

    return HttpResponse('ok')
Ejemplo n.º 20
0
#外部文件使用django的models,需要配置django环境
import os

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

    from app01 import models
    import datetime
    obj_list = []
    for i in range(1,10):
        obj = models.Book(
            title='葵花宝典第%s式'%i,
            price=20 + i,
            pub_date='198%s-11-11 00:00:00'%i,
            # pub_date=datetime.datetime.now(),

            publish= '吴老板出版社' if i < 5 else '太白出版社',

        )
        obj_list.append(obj)

    models.Book.objects.bulk_create(obj_list)






Ejemplo n.º 21
0
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_orm02.settings")
import django
django.setup()

from app01 import models

#django外部脚本调用django环境来操作
# 批量创建100条数据到书籍表
obj_lsit = []
for i in range(100):
    book_obj = models.Book(
        title=f'白洁{i}',
        price=i,
        publishDate='2020-11-11',
        publishs_id=1,
    )
    obj_lsit.append(book_obj)

models.Book.objects.bulk_create(obj_lsit)
Ejemplo n.º 22
0
import os

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

    from app01 import models

    data_list = [models.Book(title='第 {0} 本书'.format(i)) for i in range(100)]
    models.Book.objects.bulk_create(data_list)
Ejemplo n.º 23
0
import os
import sys

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

    django.setup()

    from app01 import models

    # ret = models.Employee.objects.all().values('name', 'department')
    # print(ret)
    # from django.db.models import Avg
    # ret = models.Employee.objects.values('department').annotate(avg=Avg('salary')).values('department', 'avg')
    # print(ret)
    # ret = models.Employee.objects.values('department_id').annotate(avg=Avg('salary')).values('department__name', 'avg')
    # print(ret)
    # ret = models.Author.objects.select_related().values('name', 'book__title')
    # print(ret)
    # print('='*120)
    # ret = models.Author.objects.prefetch_related().values('name', 'book__title')
    # print(ret)

    # 批量创建
    # 有100个书籍对象
    obj = [models.Book(title='沙河{}'.format(i)) for i in range(100)]
    models.Book.objects.bulk_create(obj, 10)
Ejemplo n.º 24
0
    import django
    django.setup()

    # 下面就可以使用Django的环境了
    from app01 import models

    ret = models.Author.objects.filter(name__contains="刘")
    print(ret)

    ret = models.Person.objects.filter(birthday__year=2019)[0]
    ret = ret.name
    print(ret)
    ret = models.Book.objects.filter(price__gt=50)
    print(ret)

    ret = models.Book.objects.all().values_list("publisher__name")
    print(ret)
    # distinct 对QuerySet去重
    print(ret.distinct())

    # 将所有的书按照价格倒叙排序
    ret = models.Book.objects.all().order_by("price").values_list("title")
    print(ret)

    ret = models.Book.objects.filter(title="三体").values_list("author__name")
    print(ret)

    # 批量创建,创建20个书籍对象
    objs = [models.Book(title="围城{}".format(i)) for i in range(20)]
    # 在数据库中批量创建,5次一提交
    models.Book.objects.bulk_create(objs, 5)
Ejemplo n.º 25
0
import os

if __name__ == '__main__':
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DemoPaging.settings")

    import django
    django.setup()

    from app01 import models

    # for i in range(500):
    # 效率低的写法
    # models.Book.objects.create(title="跟老男孩学xx{}".format(i), price=i)

    # 高效的写法
    # 1. 先创建500个书籍对象
    book_list = [
        models.Book(title="海子的诗{}".format(i), price=i) for i in range(500)
    ]
    # # 2. 批量提交到数据库,
    models.Book.objects.bulk_create(book_list)
Ejemplo n.º 26
0
import os

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

    from app01 import models

    objs = [models.Book(name='和我学python{}'.format(i)) for i in range(1500)]
    models.Book.objects.bulk_create(objs, 10)