Django给模型字段重命名

在Django中,一个模型就是一个,模型里的字段就是类的属性,因此本文的标题也可以写作:Django重命名类属性。

如果模型刚写好,还没在数据库中创建表,把代码里所有的旧字段名改为新字段名即可。

如果已经修改了数据库,首先在代码里将旧字段名修改为新字段名;然后需要在数据库里对表列进行重命名。在Django里不用直接操作数据库,在终端里运行命令makemigrations,Django会识别出来你是想给data_added重命名,之后再在终端运行命令migrate即可。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
(/home/aoyu/AoyuCondaEnv/AoyuBlog) aoyu@aoyuSurface:~/AoyuPythonProjects/AoyuBlog$ python manage.py makemigrations aoyu_blog_logs
Was topic.data_added renamed to topic.date_added (a DateTimeField)? [y/N] y
Migrations for 'aoyu_blog_logs':
  aoyu_blog_logs/migrations/0004_rename_data_added_topic_date_added.py
    - Rename field data_added on topic to date_added

(/home/aoyu/AoyuCondaEnv/AoyuBlog) aoyu@aoyuSurface:~/AoyuPythonProjects/AoyuBlog$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, aoyu_blog_logs, auth, contenttypes, sessions
Running migrations:
  Applying aoyu_blog_logs.0004_rename_data_added_topic_date_added... OK