一、新建数据模型。在models.py文件中根据Django规范建数据模型,如下举例代码
Code: [全选] [Expand/Collapse]
- class Users(models.Model):
- employeeid = models.CharField(unique=True, max_length=10, verbose_name='工号')
- name = models.CharField(max_length=20, verbose_name='姓名')
- password = models.CharField(max_length=20, verbose_name='密码')
- admin_choices = (
- (1, "是"),
- (0, "否"),
- )
- admin = models.BooleanField('管理员', default=False, choices=admin_choices)
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
- login_time = models.DateTimeField(auto_now=True, verbose_name='登录时间')
- # 输出对象时,设置显示出的内容
- def __str__(self):
- return self.name
- class UserFields(models.Model):
- user = models.ForeignKey(Users, related_name='user_fields', on_delete=models.CASCADE, verbose_name='用户名')
- table_name = models.CharField('表名', max_length=20)
- fields_opt = models.JSONField('字段设置', )
Code: [全选] [Expand/Collapse]
- python manage.py makemigrations
- python manage.py migrate
第一条命令会根据models.py文件在项目的"App\migrations"目录中生成生成数据库迁移文件,第二条命令会根据上条命令生成的代码,在数据库中生成(或叫数据迁移)User、UserFields两个数据表,同时还会自动生成Django自已需要的一些辅助表
二、根据已有表格自动生成数据模型。
在项目manage.py所在目录命令行中执行下面命令
Code: [全选] [Expand/Collapse]
- python manage.py inspectdb
Code: [全选] [Expand/Collapse]
- class 专项类别(models.Model):
- 序号 = models.AutoField(primary_key=True)
- 类别 = models.CharField(max_length=30)
- class Meta:
- managed = False
- db_table = '专项类别'
- class 作业区编码(models.Model):
- 序号 = models.AutoField(primary_key=True)
- 编码 = models.CharField(max_length=10, blank=True, null=True)
- 名称 = models.CharField(max_length=45, blank=True, null=True)
- def __str__(self):
- return self.名称
- class Meta:
- managed = False
- db_table = '作业区编码'