Django memang membuat migrasi untuk setiap tabel yang baru ditambahkan di aplikasi Anda terlepas dari apakah itu model terkelola atau tidak. Namun ada perbedaan yang sangat penting dan halus ketika Anda menggunakan managed=False
pengaturan. Migrasi yang dihasilkan adalah entri dummy. Itu tidak mengeksekusi SQL sama sekali.
Untuk mengonfirmasi ini, tambahkan model baru yang tidak dikelola
class Dummy(models.Model):
something = models.IntegerField()
class Meta:
managed = False
sekarang ketika Anda melakukan makemigrations
diikuti oleh sqlimigrate *myapp* *migration_number*
Anda akan melihat bahwa itu tidak menghasilkan sql.
Jika di sisi lain, Anda menemukan bahwa Django sedang mencoba membuat tabel untuk Anda, itu biasanya berarti bahwa Anda memiliki model yang sama sebelumnya tetapi pada saat model itu dikelola. Untuk mengonfirmasi hal ini, telusuri migrations
. Anda folder untuk VirtualTotal
yang merupakan nama model yang dimaksud.