• Python学习第三十课——通过ORM创建表以及长遇到的问题


    首先创建一个新的Django项目:

    在models下写下如下代码:

    from django.db import models
    
    
    # Create your models here.
    # python manage.py makemigrations
    # python manage.py migrate
    
    class Book(models.Model):  # 表名
        name = models.CharField(max_length=20)  # name字段
        price = models.IntegerField()  # 字段
        pub_date = models.DateField()  # 字段
    
    
    class Author(models.Model):
        name = models.CharField(max_length=32)
        age = models.IntegerField()

    如果使用MySql需要改配置:

    在setting.py中:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'test',  # 你的数据库名称
            'USER': 'root',  # 数据库用户名
            'PASSWORD': '123123',  # 数据库密码
            'HOST': '',  # 你的数据库主机,留空默认localhost 链接其他机器可以改其他
            'PORT': '3306',
        }
    }

    在工程文件中输入如下代码:

    import pymysql
    pymysql.install_as_MySQLdb()

    然后在Terminal中输入:

    就会在migrations文件夹中自动生成一个文件:

    # Generated by Django 3.0.3 on 2020-03-02 06:23
    
    from django.db import migrations, models
    
    
    class Migration(migrations.Migration):
    
        initial = True
    
        dependencies = [
        ]
    
        operations = [
            migrations.CreateModel(
                name='Book',
                fields=[
                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('name', models.CharField(max_length=20)),
                    ('price', models.IntegerField()),
                    ('pub_date', models.DateField()),
                ],
            ),
        ]

    此时创建表成功!!!

    通过Database查表:

     

    查看成功!!!

    在此过程中会遇到的报错:

    1、ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

    解决方法:

    在工程文件中输入如下代码:

    import pymysql
    pymysql.install_as_MySQLdb()

    如果不行就去下面这个目录下:

    C:Users11AppDataLocalProgramsPythonPython38-32Libsite-packagesdjangodbackendsmysql

    找到base.py

    打开将以下代码注释掉即可:

     2、Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

    解决方法:

    进入MySQL 输入一下命令即可解决:

    set global time_zone='+8:00';

     

  • 相关阅读:
    树链剖分
    后缀自动机
    莫队算法。
    线性递推BM模板
    笛卡尔积
    2019牛客暑期多校训练营(第三场) J LRU management 模拟链表操作
    线性基
    bitset 位运算
    Lindström–Gessel–Viennot lemma定理 行列式板子
    三角形
  • 原文地址:https://www.cnblogs.com/pyhan/p/12395756.html
Copyright © 2020-2023  润新知