Django学习--3

3. Models模型篇(数据库)

---------------------------------------------------------------

    Django的 模型是跟数据库 相关的。所以与数据库相关的一般写在models.py中(这里默认使用SQlite3,不用配置)

    这里新建learn_models工程,工程下建立people应用,添加到setting.py中。之后修改工程文件下models.py


上面的代码中,从models.Model继承得到  Person类,其中包含了名字和年龄

之后在终端----python manage.py makemigrations 1

                -----python manage.py migrate     2                       #创建Migrations然后migrate生成相应的数据表(自动更新的)

              到这里就创建出了相关的数据库的表,比如新建的people_person的表,这里是   APP名__类名

之后在对创建的表进行相应操作,包括新建对象、删除对象等等



                  -----进入shell  

                -----from people.models import Person 

                -----Person.objects.create(name="",age=24)         #这里就是创建对象,同时还有获取对象、过滤对象等操作


              这里讲了很多很多关于数据库的操作,看的人头晕。没有逐条整理,个人感觉跟Django的整体框架没有什么关系,不知道作者出于什么考虑来讲了这么多数据库的东西。可能是我还没到那个境界吧。先跳过数据库这一部分,以后用到的话,回来再看。

---------------------------------------------------------------------------------------

数据库操作----数据导入

    数据导入,比如说网上下载的东西想要导入到我们的数据库里(避免一个个复制粘贴),

     在同步数据库,建立相应的表的基础上:

     其一,可以用一个.py脚本将相应的TXT形式的文件内数据导入数据库。(这个方法没有什么特殊的)


    可以看一下除了用For循环来做,还可以用列表解析;除了create方法,为了避免重复导入数据,可以用get_or_create()方法,不过会慢一点。

    其二,可以用Django特有的Fixture导入.json类型的数据

比如这里,先在App名下建立Fixtures文件夹,之后在里面建立相关的xxx.json文件,在文件里面按照json结构写数据(这里要兼顾本APP类名这些的东西。)


之后,在终端运行 manage.py loaddata xxx.json即可导入完成

------------------------------------------------------    ----------------------------

数据库操作----数据迁移

       1)最简单的迁移就是导入导出。 导入已经说过 。  

      导出只需要在终端  manage.py dumpdata > xxxx.json   导出所有APP的数据。  

        dumpdata appname  导出app下的所有数据

        dumpdata auth 导出所有用户数据                          还有很多类似的操作

       2) 所谓的数据迁移,就是从这个服务器导出,在下一个服务器导入。就用JSon格式就可以

        但是不同的数据库之间,会存在一些问题,比如sqlite3不会检查MAX_Legth,数据个数,其他数据库就会检查,类似问题会存在。



猜你喜欢

转载自blog.csdn.net/mike_shine/article/details/80405343