模型(model)
表名如何修改
django为了节省开发者的时间,会自动帮我们决定表名,生产的规则是:app_model。
当然,如果你没有在settings中INSTALL_APP中注册你的app,你app下的model是不会被识别的。
比如你的app名是apple,model的类名是OperationRecord,那么django自动生成在数据库的表名是:apple_operationrecord。大多数情况(尤其是独立的系统)下,我们操作django的ORM,不需要关心表名或SQL语句,django会帮我们做好映射。
但在个别情况下,我们会需要修改表的名称,而非使用django默认的方式生产表名。那么具体的操作就如下了:
创建model:
from django.db import models Class ABC(models.Model): Class Meta: # 此变量是关键 db_table = 'aaa_bbb' name = models.CharField(max_length=32)
如果使用db_table,必须重新makemigrateions
python manage.py makemigrations
执行数据库操作
python manage.py migrate