Django --ORM

一、建表:

第一步、views.py里写表对应的类,例如:
from django.db import models
class Book(models.Model):
id=models.AutoField(primary_key=True)
title=models.CharField(max_length=32)
pub_date=models.DateField()
price=models.DecimalField(max_digits=8,decimal_places=2) #9999.99
publish=models.CharField(max_length=32)

第二步、settings.py里加两条
1,加项目名称app01,pycharm里面好像可以不加
2,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'orm',
'USER': 'root',
'PASSWORD': 'mysql8',
'HOST': '127.0.0.1',
'PORT': 3306
}
}

第三步、项目文件夹下的__init__.py里加:
import pymysql
pymysql.install_as_MySQLdb()

第四步、如果Python解释器是3.4以上且Django是2.0以上还要注释掉:
..\Python37\Lib\site-packages\django\db\backends\mysql\base.py里的
if version < (1, 3, 13):
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
第五步、如果想打印ORM转换过程中的sql语句,需要在settings里写:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}
第六步、在项目路径下顺序执行两条命令就把表生成好了
python manage.py makemigrations
python manage.py migrate

这时候除了类那张表Django还生成了其他表

猜你喜欢

转载自www.cnblogs.com/staff/p/10708429.html