Django 文档阅读笔记(二)应用数据模型

本文介绍如何在Django2.1中配置MySQL数据库,包括在settings.py中设置数据库参数,安装APP到项目,创建数据模型及迁移文件。通过实例演示了Question与Choice模型的定义与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://docs.djangoproject.com/en/2.1/intro/tutorial02/

在mysite/settings.py中设置自己所需的数据库

# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysite',
        'HOST': 'localhost',
        'USER': 'root',
        'PASSWORD': '123456',

    }
}

根据APP的类名(在polls/app.py中查看),在mysite/settings.py中把APP安装到项目中

# Application definition

INSTALLED_APPS = [
	'polls.apps.PollsConfig', ##这行是新添加的APP,polls
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

在APP中创建数据模型(路径为polls/models.py)

每个模型都应该为它添加一个__str__的魔法方法,以便于表示其中的信息

from django.db import models

# Create your models here.
class Question(models.Model):
	question_text = models.CharField(max_length=200)
	pub_date 	  = models.DateTimeField('date published')

	def __str__(self):
		return self.question_text


class Choice(models.Model):
	question 	= models.ForeignKey(Question, on_delete=models.CASCADE)
	choice_text = models.TextField(max_length=200)
	votes 		= models.IntegerField(default=0)

	def __str__(self):
		return self.choice_text

创建迁移文件

>> python manage.py makemigrations polls

备注1:该版本Django为2.1,如果使用的是Mysql数据库,需要在project目录的__init__.py 下写:

import pymysql
pymysql.install_as_MySQLdb()

参考链接:https://www.jianshu.com/p/5e79db147411

备注2:可以在polls/migrations/中查看迁移文件

执行迁移文件(在数据库中创建相应的表)

>>python manage.py migrate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值