Django学习笔记(4):模型(Model)

介绍

模型是用来描述数据表的,它包含存储的数据的重要字段和行为。一般来说,一个模型对应一张数据表。

  • 每个模型都是一个Python的类,他们继承自django.db.models.Model
  • 模型中的每个属性都是数据表中的一个字段

使用配置

以MySQL数据库为例,首先要安装mysql驱动:

pip install mysqlclient

(不安装会报错)

然后,在该项目的settings.py中添加DATABASE配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'user', # 数据库名
        'USER': '',  # 用户名
        'PASSWORD': '', # 密码
        'HOST': '', # 服务器ip地址
        'PORT': '3306' # 端口
    }
}

这样就可以使用mysql啦。

同步数据库

  1. 创建一个people应用,将其添加到settings.py中的INSTALLED_APPS中:
    Django学习笔记(4):模型(Model)_第1张图片

  2. 打开people/models.py,修改里面的代码:

from django.db import models


class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

这样我们就创建了一个模型。注意:字段名称中不能有__(双下划线),也不能有Python的关键字。

  1. 同步数据库。

先生成迁移文件:

python manage.py makemigrations

再将结构变化应用到数据库:

python manage.py migrate

对数据库进行操作

在people中添加一个新的文件testdb.py,添加代码:

from django.http import HttpResponse
from people.models import Person

def testdb(request):
    Person.objects.create(name="Marcus", age=20)
    return HttpResponse("数据添加成功!")

修改urls.py:

from people import testdb as testdb

urlpatterns = [
    path('testdb/', testdb.testdb)
]

访问http://127.0.0.1:8000/testdb/,可以看到:

Django学习笔记(4):模型(Model)_第2张图片
使用数据库管理工具也可以看到(此处为我服务器上的phpmyadmin):
Django学习笔记(4):模型(Model)_第3张图片

上面可以看到,除了我们在模型中定义的name和age两个字段以外,还多出一个字段id。这是Django为数据表自动添加的主键

你可能感兴趣的:(Django学习笔记,django,python)