• 初识Django的ORM


    Django都是通过ORM操作数据库,下面开始ORM的学习。

    ORM准备工作

    pycharm安装Django并新建项目

    为Django配置ORM

    1.安装

    # 安装Django
    pip install django==2.2.15 
    # 准备项目 django-admin startproject salary .
    # 创建应用 python manage.py startapp employee

    2.配置

    打开salary/settings.py主配置文件:
     
    修改数据库配置
    修改时区
    注册应用
    配置log
     
    # 数据库配置
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'test',
            'USER': 'wayne',
            'PASSWORD': 'wayne',
            'HOST': '127.0.0.1',
            'PORT': '3306',
       }
    }
    # 时区
    TIME_ZONE = 'Asia/Shanghai'
    # 注册应用
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'employee', ]
    
    # 配置log
    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console': {
                'class': 'logging.StreamHandler',
           },
       },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'level': 'DEBUG',
           },
       },
    }

    建立ORM模型

    class Employee(models.Model):
        class Meta:
            db_table = 'employees' # 定义要关联的表
        emp_no = models.IntegerField(primary_key=True)
        birth_date = models.DateField(null=False)
        first_name = models.CharField(null=False, max_length=14)
        last_name = models.CharField(null=False, max_length=16)
        gender = models.SmallIntegerField(null=False)
        hire_data = models.DateField(null=False)
    
        @property # 使用装饰器增加属性name
        def name(self):
            return "{}-{}".format(self.first_name, self.last_name)
    
        def __repr__(self): # 魔术方法改变输出格式
            return "<Employee: {} {} {}>".format(self.emp_no, self.name, self.gender)
    
        __str__ = __repr__

    下次学习,怎么利用ORM模型查询数据库!

  • 相关阅读:
    template
    open File Browser in shell
    自定义模板类型vs模板类型自动推测
    protobuffer
    多重继承&虚继承
    What I'm Researching
    JobTracker和TaskTracker
    MapReduce
    How To Use Google Flags
    Frequently Used Shell Commands
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/14760967.html
Copyright © 2020-2023  润新知