python - Django peut-il toujours utiliser modles.py pour faire fonctionner MySQL après avoir utilisé pymysql?
扔个三星炸死你
扔个三星炸死你 2017-06-12 09:23:48
0
3
911

Mon environnement est : Python3.6 + django1.11.1 + mysql
J'utilise pymysql auparavant, j'utilisais sqlite3. Dois-je toujours créer des tables en définissant des classes dans models.py ? Pourquoi est-ce que j'écris comme ça et ensuite je l'exécute

python manage.py makemigrations
python manage.py migrate

La table correspondante n'est pas générée dans mysql ?

扔个三星炸死你
扔个三星炸死你

répondre à tous(3)
巴扎黑
makemigrations, which is responsible for creating new migrations based on the changes you have made to your models.

1.先把sqlite3替换成mysql,其他的代码不变,看能不能生成表.
2.如果使用pymysql,一般不用django内置model来写类对象.因为pymysql是对数据库进行操作,
 如
    cursor.execute(sql, args)
 
 此时可定义类,创建表可以类里面进行(仅仅是例子,不代表唯一)
 
 class Bar(object):
     TABLE = 'bar'
     TABLE_SCHEMA = '''
         create table if not exist `bar`(
             foo ...
         )
     '''
 
     def __init__(self, sql_connection):
         self.sql_connection = sql_connection
        self.__create_table()
     
     def __create_table(self):
         cursor = self.sql_connection.cursor()
         cursor.execute(self.TABLE_SCHEMA)
     
     def get(self, foo):
         cursor = self.sql_connection.cursor()
         cursor.execute(...)
学习ing

Vous devez configurer votre dossier modèle dans INSTALLED_APPS de paramètre. Par exemple, si vous avez un fichier appelé models.py et que le dossier de niveau supérieur s'appelle app, vous devez configurer l'application dans INSTALLED_APPS avant qu'elle ne soit créée

刘奇

Ajoutez deux lignes de code à xxx/xxx/__init__.py :

import pymysql
pymysql.install_as_MySQLdb()
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal