Go教程

Django数据库迁移命令

本文主要是介绍Django数据库迁移命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python manage.py makemigrations 将操作记录记录到小本本上(migrations文件夹)

python manage.py migrate  将操作真正的同步到数据库中
# 只要你修改了models.py中跟数据库相关的代码 就必须重新执行上述的两条命令
******************************************************************
如果迁移命令报错:【Django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required;
    
原因是 MySQLclient 目前只支持到 Python3.4,你使用了更高版本的 python

处理方式:在setting.py同文件夹下的_init_.py加入以下内容
import pymysql

pymysql.version_info = (1, 4, 13, "final", 0)  # 指定版本
pymysql.install_as_MySQLdb()  # pymysql代替MySQLdb

******************************************************************
class User(models.Model):
    # id int primary_key auto_increment
    id = models.AutoField(primary_key=True,verbose_name='主键')
    # username varchar(32)
    username = models.CharField(max_length=32,verbose_name='用户名')
    """
    CharField必须要指定max_length参数 不指定会直接报错
    verbose_name该参数是所有字段都有的 就是用来对字段的解释
    """
    # password int
    password = models.IntegerField(verbose_name='密码')


class Author(models.Model):
    # 由于一张表中必须要有一个主键字段 并且一般情况下都叫id字段
    # 所以orm当你不定义主键字段的时候 orm会自动帮你创建一个名为id主键字段
    # 也就意味着 后续我们在创建模型表的时候如果主键字段名没有额外的叫法 那么主键字段可以省略不写
    # username varchar(32)
    username = models.CharField(max_length=32)
    # password int
    password = models.IntegerField()
这篇关于Django数据库迁移命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!