Connexion à la base de données MySQL du projet Django et création de table

Connectivité de base de données

  1. Tout d'abord, assurez-vous que nous avons généré un fichier de projet Django de base avec la structure de répertoires suivante :
    insérer la description de l'image ici
    Lien de référence pour le processus de construction spécifique : https://blog.csdn.net/David_house/article/details/131188889?spm=1001.2014.3001.5502.
  2. Recherchez le fichier de paramètres sous le projet, ouvrez-le et modifiez le contenu pertinent
  • Ajoutez le nom de l'application (mon nom d'application ici est app, j'ai ajouté app dans la dernière ligne)
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app'
]
  • Modifiez les informations de connexion à la base de données.
    J'utilise ici la base de données MySQL. "NOM" est suivi du nom de la base de données que vous souhaitez utiliser.
DATABASES = {
    
    
    'default':
    {
    
    
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dfds',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':'123456'
    }
}
  1. Ouvrez le fichier init dans le répertoire de l'application. Notez qu'il ne s'agit pas du fichier init dans les migrations. Ajoutez le contenu suivant :
import pymysql
pymysql.install_as_MySQLdb()

Création de tableaux

  1. Ouvrez le fichier models.py et ajoutez les informations sur les tables que vous souhaitez créer. Par exemple, je souhaite créer trois tables ici. Le contenu spécifique est le suivant :
# 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. Ouvrez le terminal, entrez dans le répertoire où se trouve le fichier manage.py
    et exécutez la commande python manage.py makemigrationspour générer le modèle correspondant. Les résultats de l'exécution sont les suivants :

insérer la description de l'image ici
3. Exécutez la commande python manage.py migratepour générer la table de données correspondante. Les résultats de l'exécution sont les suivants :
insérer la description de l'image ici
Enfin, nous sommes allés dans la base de données pour vérifier et avons constaté que la table a été générée automatiquement :
les trois dernières tables ont été conçues par nous-mêmes, et les autres sont nécessaire lorsque le projet Django est en cours d'exécution.
insérer la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/David_house/article/details/131385460
conseillé
Classement