django中模型
Posted igoodful
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中模型相关的知识,希望对你有一定的参考价值。
- django需要使用数据库,则需要安装对应的驱动,比如mysql,则需要安装mysqlclient驱动:
pip install mysqlclient
- 在settings.py文件中配置数据库连接信息:
DATABASES = ‘default‘: ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘: ‘firstsite‘, ‘HOST‘: ‘localhost‘, ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘123456‘, ‘PORT‘: ‘3306‘,
# 要求在自己的mysql服务中,先创建好数据库名字为:firstsite,否则django无法创建表。没有创建的话,使用python manage.py migrate,结果如下图所示:
- django根据python中定义的类映射到数据库中的表,自动创建app对应的
python manage.py migrate
# migrate命令将遍历INSTALLED_APPS
设置中的所有项目,在数据库中创建对应的表,并打印出每一条动作信息
- 在模型文件models.py中创建数据库中表对应的实体类(在app目录下面的models.py文件中编写):
from django.db import models # Create your models here. # python manage.py makemigrations polls class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField(‘date published‘) class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
- 告诉django,启用自己的app:
# Application definition,在配置文件settings.py中配置: INSTALLED_APPS = [ ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘firstapp‘ #####################填写自己的app应用名称 ]
- 让django根据app中定义的实体类,到配置文件中配置的数据库去创建对应的表:
#当然,如果数据库中已经存在相应的表了,就不会创建相同的表了
python manage.py makemigrations firstapp
运行结果如下:
- 正式将firstapp应用中models.py中的类映射到数据库中的表:
python manage.py migrate
- 使用模型中类的api
# 默认会提供类相应的操作api
python manage.py shell
- 创建超级管理员:
python manage.py createsuperuser
以上是关于django中模型的主要内容,如果未能解决你的问题,请参考以下文章