from django.db import models # Create your models here. # 堆代码 duidaima.com class Department(models.Model): '''部门表''' title = models.CharField(verbose_name='标题',max_length=16) class Admin(models.Model): '''员工表''' username = models.CharField(verbose_name='姓名',max_length=32) password = models.CharField(verbose_name='密码',max_length=64) gender = models.IntegerField(verbose_name='性别',choices=[(1,"男"),(2,'女')]) age = models.PositiveIntegerField(verbose_name='年龄',null=True,blank=True) department = models.ForeignKey(verbose_name='部门',to='Department',on_delete=models.CASCADE) class Phone1(models.Model): '''号码表''' mobile = models.PositiveIntegerField(verbose_name='号码') price = models.SmallIntegerField(verbose_name='价格',default=0) level = models.SmallIntegerField( verbose_name='级别', choices=[(1,'1级'),(2,'2级'),(3,'3级')], default=1 ) status_choice =[(1,'已使用'),(2,'未使用')] status = models.SmallIntegerField(verbose_name='状态',choices=status_choice,default=1 ) admin = models.ForeignKey(verbose_name='管理员',to='Admin',on_delete=models.CASCADE)第三步,生成迁移映像数据。这一步是调用生成了数据库db.sqlite3和可供迁移的数据而并非用影像数据生成了带有数据的数据库。
生成的可供迁移的数据0001_initial.py详细内容如下:
# Generated by Django 4.1.5 on 2023-10-28 13:49 # 堆代码 duidaima.com from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Admin', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(max_length=32, verbose_name='姓名')), ('password', models.CharField(max_length=64, verbose_name='密码')), ('gender', models.IntegerField(choices=[(1, '男'), (2, '女')], verbose_name='性别')), ('age', models.PositiveIntegerField(blank=True, null=True, verbose_name='年龄')), ], ), migrations.CreateModel( name='Department', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=16, verbose_name='标题')), ], ), migrations.CreateModel( name='Phone1', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('mobile', models.PositiveIntegerField(verbose_name='号码')), ('price', models.SmallIntegerField(default=0, verbose_name='价格')), ('level', models.SmallIntegerField(choices=[(1, '1级'), (2, '2级'), (3, '3级')], default=1, verbose_name='级别')), ('status', models.SmallIntegerField(choices=[(1, '已使用'), (2, '未使用')], default=1, verbose_name='状态')), ('admin', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.admin', verbose_name='管理员')), ], ), migrations.AddField( model_name='admin', name='department', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.department', verbose_name='部门'), ), ]最后,运行migrate命令将映像数据写入到数据库