zoukankan      html  css  js  c++  java
  • # django通过操作admin对原有的数据库进行操作

    django通过操作admin对原有的数据库进行操作

    计算机/cs操作记录

    数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办???
    Django是最适合所谓的green-field开发,即从头开始一个新的项目
    但是呢,Django也支持和以前遗留的数据库和应用相结合的。
    Django的数据库层从Python代码生成SQL schemas。但是对于遗留的数据库,你已经用于SQL schemas,这种情况下你需要为你已经存在的数据库表写模型(为了使用数据库的API),幸运的是,Django自带有通过阅读你的数据库表规划来生成模型代码的辅助工具 manage.py inspectdb

    我们就需要根据数据库去自动生成新的models文件

    python manage.py inspectdb #简单可以看一下自动映射成的models中的内容

    导出并且去代替models.py

    python manage.py inspectdb > models.py
    这样你就会发现在manage.py的同级目录下生成了一个models.py文件
    使用这个models.py文件覆盖app中的models文件。
    如果完成了以上的操作,生成的是一个不可修改/删除的models,修改meta class中的managed = True则可以去告诉django可以对数据库进行操作

    此时,我们再去使models.py和数据库进行同步

    python manage.py migrate

    为什么使用admin

    使用Django Admin可以快速对数据库的各个数据表进行增删查改。一行代码即可增加对一个模型(数据表)的增删查改。试想如果你要自己手动编写后台对一个模型进行增删查改,你一般需要4个urls, 4个视图函数或通用视图和4个模板。当一个项目比较大包含多个app时,而每个app又包含多个模型(数据表)时, 那么编写和维护整个项目管理后台的工作量可想而知。Django Admin所做就是将所有需要管理的模型(数据表)集中在一个平台,你不仅可以选择性地管理模型(数据表), 你还可以快速订制数据条目查询,过滤和搜索条件。

    创建超级用户superuser

    使用django admin的第一步是创建超级用户(superuser)。进入你的项目文件夹, 使用如下命名,输入用户名和密码即可创建管理员。
    $ python manage.py createsuperuser 
    此时你访问http://127.0.0.1:8000/admin/, 你就可以看到登录界面了。

    注册模型(数据表)

    假设你有一个叫blog的APP, 里面包含了一个叫Article(文章)的模型, 你想对文章进行管理, 你只需找到blgo的admin.py,使用admin.site.register方法注册Article模型。代码如下所示:

    from django.contrib import admin
    from .models import Article
    #Register your models here.
    admin.site.register(Article)
    
  • 相关阅读:
    带提示范围的猜数小游戏--python
    python中字符串的常见操作
    html表单相关标签及属性
    CSS常用属性
    python装饰器
    python闭包的概念及使用
    nuxt.js实战踩坑记录
    vuex填坑记录
    prerender-spa-plugin预处理vue项目实践
    node+express第一次实战踩坑记录
  • 原文地址:https://www.cnblogs.com/sukura/p/14306510.html
Copyright © 2011-2022 走看看