zoukankan      html  css  js  c++  java
  • Django 学习笔记之三 数据库输入数据

      假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表。具体的参照Django 学习笔记之二的相关命令。

      那么这篇主要介绍往数据库中添加数据,django默认的是sqlite3数据库。

      在建立完django_blog项目后,不要忘了把 blog 加入到 settings.py 中的 INSTALLED_APPS 中。

      

    一、同步数据库,创建相应的表

      具体的参照Django 学习笔记之二的的同步数据库。

    二、数据输入

      下面通过几个方式往blog对应的表中增加数据

      1、在命令框中输入

      进入django_blog项目文件夹,同时按住Ctrl+Shift键 点击“在此处打开命令行”在命令框内容输入:python manage.py shell

      

      从下图的红色框中可以看出有两种方式:

      

      通过Blog.objects.values()命令来查看刚才入库的数据

      2、批量导入

        用pycharm开发环境打开上面建立的项目django_blog,如下图:

     

     假设有个test.txt文本文件,如下:

    title 1*content 1
    title 2*content 2
    title 3*content 3
    title 4*content 4
    title 5*content 5
    title 6*content 6
    title 7*content 7
    title 8*content 8
    title 9*content 9
    把文件中数据导入到Blog表里面,代码如下:

      

      

      导入数据重复 解决办法

      如果你导入数据过多,导入时出错了,或者你手动停止了,导入了一部分,还有一部分没有导入。或者你再次运行上面的命令,你会发现数据重复了,怎么办呢?

     django.db.models 中还有一个函数叫 get_or_create() 有就获取过来,没有就创建,用它可以避免重复,但是速度可以会慢些,因为要先尝试获取,看看有没有

      只要把上面的 Blog.objects.create(title =title,content=content) 

      换成 Blog.objects.get_or_create(title=title,content=content)就可以了

      Model.objects.bulk_create() 更快更方便

      



      

     

  • 相关阅读:
    转Asktom:Pipelined Functions
    转:PVE法师附魔
    附魔300375图纸掉落大全
    转:Oracle直方图详解
    转:JSON的序列化及GET异步调用.
    转:ORACLE 中dbms_stats的使用
    jQuery中$.each的用法
    魔兽世界天赋详解之 法师篇 一冰法
    Miley's Oracle讲堂第三课:如何在Oracle中使用对象表存储数据.
    台服体验之急速升级
  • 原文地址:https://www.cnblogs.com/shaosks/p/6145613.html
Copyright © 2011-2022 走看看