zoukankan      html  css  js  c++  java
  • Django入门之-模型类

    1. ORM框架

    django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。
    在Django中主要是设计类:模型类。
    ORM另外一个作用:根据设计的类生成数据库中的表。

    2. 模型类设计

    在应用models.py中设计模型类。
    必须继承与models.Model类。

    1. 设计BookInfo类。
    2. 设计HeroInfo类。
      Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多端的表中创建一列作为外键,建立两个表之间一对多的关系。

    3. 模型类生成表

    1. 生成迁移文件
      迁移文件是根据模型类生成的。
    2. 执行迁移生成表
      命令:python mange.py migrate
      根据迁移文件生成表。
      生成表名的默认格式:
      应用名_模型类名小写

    4. 通过模型类操作数据表

    进入项目shell的命令:
    python manage.py shell
    以下为在相互shell终端中演示的例子:
    首先导入模型类:
    from booktest.models import BookInfo,HeroInfo

    1. 向booktest_bookinfo表中插入一条数据。
      b = BookInfo() #定义一个BookInfo类的对象
      b.btitle ='天龙八部' #定义b对象的属性并赋值
      b.bpub_date = date(1990,10,11)
      b.save() #才会将数据保存进数据库
    2. 查询出booktest_bookinfo表中id为1的数据。
      b = BookInfo.objects.get(id=1)
    3. 在上一步的基础上改变b对应图书的出版日期。
      b.bpub_date = date(1989,10,21)
      b.save() #才会更新表格中的数据
    4. 紧接上一步,删除b对应的图书的数据。
      b.delete() #才会删除
    5. 向booktest_heroInfo表中插入一条数据。
      h = HeroInfo()
      h.hname = '郭靖'
      h.hgender = False
      h.hcomment = ‘降龙十八掌’
      b2 = BookInfo.objects.get(id=2)
      h.hbook = b2 #给关系属性赋值,英雄对象所属的图书对象
      h.save()
    6. 查询图书表里面的所有内容。
      BookInfo.objects.all()
      HeroInfo.objects.all()

    5. 关联操作

    查询出id为2的图书中所有英雄人物的信息。
    b = BookInfo.objects.get(id=2)
    b.heroinfo_set.all() #查询出b图书中所有英雄人物的信息

    6.后台管理

    1. 本地化
      语言和时区的本地化。
      修改settings.py文件。
    2. 创建管理员
      命令:python manage.py createsuperuser
    3. 注册模型类
      在应用下的admin.py中注册模型类。
      告诉djang框架根据注册的模型类来生成对应表管理页面。
      b = BookInfo()
      str(b) str
    4. 自定义管理页面
      自定义模型管理类。模型管理类就是告诉django在生成的管理页面上显示哪些内容。
  • 相关阅读:
    2月份热门的 24 个 jQuery 插件
    走近求伯君1 求伯君,1964年11月26日出生于浙江新昌县。
    转CSDN,13原则
    SQL Server数据库如何正确加密?
    Zend Studio提供zend studio教程、zend studio下载等相关资源的公益性站点。 订阅
    高端人才必看,生意人必读
    有速度才有效率,支持Google gear离线的网站和应用
    2009.08.20总结与微软中国开发部经理段老师的通话无锡德立解决方案
    从SOA、SaaS到博科自主配置平台
    MySQL 1045错误的解决方法
  • 原文地址:https://www.cnblogs.com/lenfoo/p/11380345.html
Copyright © 2011-2022 走看看