Rumah  >  Soal Jawab  >  teks badan

python - Bolehkah saya masih menggunakan modles.py untuk mengendalikan mysql selepas menggunakan pymysql dalam django?

Persekitaran saya ialah: Python3.6 + django1.11.1 + mysql
Saya menggunakan pymysql sebelum ini, saya menggunakan sqlite3 Sekarang saya perlu membuat jadual dengan mentakrifkan kelas dalam models.py ? Mengapa saya menulis seperti ini dan kemudian melaksanakannya

python manage.py makemigrations
python manage.py migrate

Jadual yang sepadan tidak dijana dalam mysql?

扔个三星炸死你扔个三星炸死你2710 hari yang lalu872

membalas semua(3)saya akan balas

  • 巴扎黑

    巴扎黑2017-06-12 09:25:48

    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(...)

    balas
    0
  • 学习ing

    学习ing2017-06-12 09:25:48

    Anda perlu mengkonfigurasi folder model anda dalam tetapan INSTALLED_APPS Contohnya, jika anda mempunyai fail bernama models.py dan folder peringkat atas dipanggil app, maka anda perlu mengkonfigurasi apl itu ke dalam INSTALLED_APPS sebelum ia akan dibuat

    .

    balas
    0
  • 怪我咯

    怪我咯2017-06-12 09:25:48

    Tambahkan dua baris kod pada xxx/xxx/__init__.py:

    import pymysql
    pymysql.install_as_MySQLdb()

    balas
    0
  • Batalbalas