Django学习(2)-- 模型(Model)

ORM框架是python中内置的框架,它的作用就是能够让我们通过对这个框架的操作就能完成对数据库的操作。

O(object)代表的是类对象的意思;

R(relation)代表的是数据库中数据表的意思;

M(mapping)代表映射的意思。

在ORM框架,它能让我们通过对类和类对象的操作就能完成数据库中的数据表的操作,还可以通过我们设计的类自动帮我们生成数据库中的表。

在Django中完成数据库的操作步骤如下:

1在应用中的model.py定义类模型

2迁移(生成迁移文件→执行迁移命令)

3进入数据库操作命令,对数据增删改查

1打开应用中的model.py文件,定义一个类,这个类继承models.Model:(不需要设计主键列,自动生成,并且自动增长)

设计武器(Arms)类:

  类名:Arms

  型号:Model

  产地:Origin

  重量:Weight

from django.db import models

# Create your models here.

class Arms(models.Model):
    amodel = models.CharField(max_length=20)
    aorigin = models.CharField(max_length=30)
    aweight = models.CharField(max_length=10)

2迁移:迁移后生成的文件在migration文件中

  执行:python manage.py makemigrations    生成迁移文件

  执行:python manage.py migrate          迁移

迁移之后migration文件中多了一个0001_arm.py的文件;

迁移后Django会读取迁移文件帮我们自动生成一个数据表格(Django默认采用的是sqlite3数据库);

数据表的名称是应用的名称+类模型的名称

我们可以下载一个sqliteman的软件来打开我们的数据库

3对数据库进行操作
  首先进去项目shell命令:    python manage.py shell

  引入models中的类: from test.models import Arms      (test是应用名称)

  查看武器所有信息:Arms.objects.all()

  新建武器名称:b = Arms()

         b.amodel = "AK-47"

         b.aorigin = "美国"

         b.aweight = "3.5KG"

           b.save()

  查看执行ID的信息:b = Arms.objects.get(id=1)

           b.amodel

  删除信息:b.delete

但我们对数据库操作的的时候总是执行这样的语句是不是太麻烦了,有没有方便一点的类似于界面图形那样的页面呢?答案是肯定的:

即:Django的后天管理模块

步骤:

  1管理界面的本地化

  2创建管理员

  3注册模型类

  4自定义管理界面

1打开项目的setting文件找到语言编码,时间管理项:

LANGUAGE_CODE = 'zh-hans' #使用中国语言
TIME_ZONE = 'Asia/Shanghai' #使用中国上海时间

2创建管理员:

执行:python manage.py createsuperuser(用户名,邮箱,密码);

启动服务器:python manage.py runserver

打开浏览器:127.0.0.1/8000/admin

3登入后台管理后默认没有类模型需要我们自己注册:

  打开应用的admin.py文件

  

from django.contrib import admin
from test.models import Arms

admin.site.register(Arms)

4自定义管理界面:

class ArmsAdmin(admin.ModelAdmin):     #定义一个需要显示的类
    list_display = ["amodel","aorigin","aweight"]   #显示的内容

admin.site.register(ArmsAdmin)

猜你喜欢

转载自www.cnblogs.com/yan-peng/p/9988889.html