Conexión de base de datos mysql del proyecto Django y creación de tablas

Conectividad de base de datos

  1. Primero, asegúrese de haber generado un archivo de proyecto básico de Django con la siguiente estructura de directorios:
    Insertar descripción de la imagen aquí
    Enlace de referencia para el proceso de construcción específico: https://blog.csdn.net/David_house/article/details/131188889?spm=1001.2014.3001.5502
  2. Busque el archivo de configuración en el proyecto, ábralo y modifique el contenido relevante
  • Agregue el nombre de la aplicación (el nombre de mi aplicación aquí es aplicación, agregué aplicación en la última línea)
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app'
]
  • Modifique la información de conexión de la base de datos.
    Estoy usando la base de datos mysql aquí. 'NOMBRE' va seguido del nombre de la base de datos que desea usar.
DATABASES = {
    
    
    'default':
    {
    
    
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dfds',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':'123456'
    }
}
  1. Abra el archivo de inicio en el directorio de la aplicación. Tenga en cuenta que no es el archivo de inicio en las migraciones. Agregue el siguiente contenido:
import pymysql
pymysql.install_as_MySQLdb()

Creación de tablas

  1. Abra el archivo models.py y agregue la información de las tablas que desea crear. Por ejemplo, quiero crear tres tablas aquí. El contenido específico es el siguiente:
# Create your models here.
class Users(models.Model):
	#前面的变量名会默认生成为表中的列名,如果想单独设置可以通过属性db_column=''
	#当使用CharField时,一定要通过max_length来设置一下最大长度
    id=models.AutoField('用户id',primary_key=True)  #primary_key为True时表示该列是主键
    email=models.CharField('用户邮箱',max_length=50,null=False) #null=False表示不为空
    password = models.CharField('用户登录密码',max_length=8,null=False)
    class Meta:
        db_table='user'  #设置对应的表名

class Test(models.Model):
    sample_id = models.AutoField('数据唯一标识符', primary_key=True)
    classification = models.IntegerField('分类类别', null=False)
    features = models.CharField('特征',max_length=1000)
    #ForeignKey来指定外键,第一个参数是关联的表,第二个参数是表连接的方式
    u_id = models.ForeignKey(Users, on_delete=models.CASCADE)
    class Meta:
        db_table = 'test'

class getModel(models.Model):
    m_id = models.AutoField('模型的唯一标识符', primary_key=True)
    model = models.CharField('模型文件保存路径',max_length=1000, null=False)
    sample_id = models.ForeignKey(Test,on_delete=models.CASCADE)
    class Meta:
        db_table = 'model'
  1. Abra la terminal, ingrese al directorio donde se encuentra el archivo Manage.py
    y ejecute el comando python manage.py makemigrationspara generar el modelo correspondiente, los resultados de la ejecución son los siguientes:

Insertar descripción de la imagen aquí
3. Ejecute el comando python manage.py migratepara generar la tabla de datos correspondiente, los resultados de la ejecución son los siguientes:
Insertar descripción de la imagen aquí
Finalmente, fuimos a la base de datos para verificar y encontramos que la tabla se generó automáticamente:
las últimas tres tablas las diseñamos nosotros mismos y las demás necesario cuando el proyecto Django se está ejecutando.
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/David_house/article/details/131385460
Recomendado
Clasificación