zoukankan      html  css  js  c++  java
  • Django数据库建立注意事项

    建立项目

    MySql中表与Jdango中的表

    #sql中的表                                                      
    
     #创建表:
         CREATE TABLE employee(                                     
                    id INT PRIMARY KEY auto_increment ,                    
                    name VARCHAR (20),                                      
                    gender BIT default 1,                                  
                    birthday DATA ,                                         
                    department VARCHAR (20),                                
                    salary DECIMAL (8,2) unsigned,                          
                  );
    
      #sql中的表纪录                                                  
      #添加一条表纪录:                                                          
          INSERT employee (name,gender,birthday,salary,department)            
                 VALUES   ("alex",1,"1985-12-12",8000,"保洁部");               
      #查询一条表纪录:                                                           
          SELECT * FROM employee WHERE age=24;                               
      #更新一条表纪录:                                                           
          UPDATE employee SET birthday="1989-10-24" WHERE id=1;              
      #删除一条表纪录:                                                          
          DELETE FROM employee WHERE name="alex"                             
    #python的类
    class Employee(models.Model):
         id=models.AutoField(primary_key=True)
         name=models.CharField(max_length=32)
         gender=models.BooleanField()
         birthday=models.DateField()
         department=models.CharField(max_length=32)
         salary=models.DecimalField(max_digits=8,decimal_places=2)
     #python的类对象
          #添加一条表纪录:
              emp=Employee(name="alex",gender=True,birthday="1985-12-12",epartment="保洁部")
              emp.save()
          #查询一条表纪录:
              Employee.objects.filter(age=24)
          #更新一条表纪录:
              Employee.objects.filter(id=1).update(birthday="1989-10-24")
          #删除一条表纪录:
              Employee.objects.filter(name="alex").delete()


    Jdango中创建数据

    1.在app的models中建立class
    2.
    settings配置

    若想将模型转为mysql数据库中的表,需要在settings中配置:

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

     3.在项目__init__文件中加入

    import pymysql
    pymysql.install_as_MySQLdb()

     4.最后通过两条数据库迁移命令即可在指定的数据库中创建表 :

    python manage.py makemigrations
    python manage.py migrate

     5.确保配置文件中的INSTALLED_APPS中写入我们创建的app名称

     6.在pycharm中添加orm转换日志

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console':{
                'level':'DEBUG',
                'class':'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'propagate': True,
                'level':'DEBUG',
            },
        }
    }

    注意3:如果报错如下:

    1
    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

    MySQLclient目前只支持到python3.4,因此如果使用的更高版本的python,需要修改如下:

    通过查找路径C:ProgramsPythonPython36-32Libsite-packagesDjango-2.0-py3.6.eggdjangodbackendsmysql
    这个路径里的文件把

    1
    2
    if version < (133):
         raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

    注释掉 就OK了。



  • 相关阅读:
    数据库Mysql给用户赋予操作表的权限
    C# log4net日志分等级打日志
    C# 将字符串转为函数名
    C# winform无法拖动控件
    C# 程序获取管理员方法
    C# 生成程序目录避免生成多余的XML和pdb
    C# 快速获取一个月的天数或最后一天
    正则
    C# 根据服务名打开所在文件夹
    330 div+css Experience
  • 原文地址:https://www.cnblogs.com/zhuzhiwei-2019/p/10657571.html
Copyright © 2011-2022 走看看