• 一、Django学习之连接与建立数据库


    连接MySQL数据库

    配置文件

    找到DATABASES对应的设置,修改为MySQL的配置即可

    3.png

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME':'bms',           # 要连接的数据库,连接前需要创建好
            'USER':'root',        # 连接数据库的用户名
            'PASSWORD':'',        # 连接数据库的密码
            'HOST':'127.0.0.1',       # 连接主机,默认本级
            'PORT':3306            #  端口 默认3306
        }
    }
    

    连接数据库

    在项目的__init__.py文件中进行编辑.

    用于告诉django使用pymysql模块代替MySQLdb模块。

    import pymysql
    pymysql.install_as_MySQLdb()
    
    

    4.png

    创建数据库

    建立模型

    创建完项目后,我们进入app,进入models.py创建我们的模型(数据库

    class UserInfo(models.Model):
        # create table userinfo(id int primary key auto_increment,name varchar(16),age int,current_date date)
        id = models.AutoField(primary_key=True)#自增字段 且主键
        name = models.CharField(max_length=16)
        age = models.IntegerField()#整数
        current_date = models.DateField()
    

    1.png

    数据库同步指令

    如果没有修改django默认数据库连接,那么会自动生产一个sqlite3的数据库。

    第一个指令,创建一个记录。用于告诉django我要创建一个表

    python manage.py makemigrations
    

    2.png

    第二个指令,用于执行这个记录。

    python manage.py migrate
    

    ORM字段与数据库对应关系

    'AutoField': 'integer AUTO_INCREMENT',
    'BigAutoField': 'bigint AUTO_INCREMENT',
    'BinaryField': 'longblob',
    'BooleanField': 'bool',
    'CharField': 'varchar(%(max_length)s)',
    'CommaSeparatedIntegerField': 'varchar(%(max_length)s)',
    'DateField': 'date',
    'DateTimeField': 'datetime',
    'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)',
    'DurationField': 'bigint',
    'FileField': 'varchar(%(max_length)s)',
    'FilePathField': 'varchar(%(max_length)s)',
    'FloatField': 'double precision',
    'IntegerField': 'integer',
    'BigIntegerField': 'bigint',
    'IPAddressField': 'char(15)',
    'GenericIPAddressField': 'char(39)',
    'NullBooleanField': 'bool',
    'OneToOneField': 'integer',
    'PositiveIntegerField': 'integer UNSIGNED',
    'PositiveSmallIntegerField': 'smallint UNSIGNED',
    'SlugField': 'varchar(%(max_length)s)',
    'SmallIntegerField': 'smallint',
    'TextField': 'longtext',
    'TimeField': 'time',
    'UUIDField': 'char(32)',
    
  • 相关阅读:
    ASP.NET Boilerplate
    Financial.IPmt/Financial.PPmt
    VB内部函数(三)——财务函数
    Convert VB.NET to C#
    MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
    Oauth2.0客户端服务端示例
    一张图搞定OAuth2.0
    使用JAVA实现的一个简单IOC注入实例
    谈谈对Spring IOC的理解
    秒懂,Java 注解 (Annotation)你可以这样学
  • 原文地址:https://www.cnblogs.com/antmoe/p/12231253.html
Copyright © 2020-2023  润新知