SQL request for a model

models.py

class Country(models.Model):
    name = models.CharField(max_length=50, validators=[validate_name, ])

    class Meta:
        managed = False
        db_table = 'countries'

    def __str__(self):
        return self.name

0001_initial.py

class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Country',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, validators=[countries.validators.validate_name])),
            ],
            options={
                'db_table': 'countries',
                'managed': False,
            },
        ),
    ]

sql

(venv) michael@michael:~/Documents/PyCharmProjects/db/db$ python manage.py sqlmigrate countries 0001_initial
BEGIN;
--
-- Create model Country
--
-- (no-op)
COMMIT;

Could you tell me whether this sql reflects the model or not? If not, how can it happen? And will it produce in the database?

There is no sql to apply to the db because of managed = False.

That is, running migrate does not change the db.

Back to Top