• django框架ORM数据库


    字段类型

    选项

    null是数据库范畴的概念,blank是表单验证范畴的

    外键

    在设置外键时,需要通过on_delete选项指明主表删除数据时,对于外键引用表数据如何处理,在django.db.models中包含了可选常量:

    • CASCADE 级联,删除主表数据时连通一起删除外键表中数据

    • PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被外键应用的数据

    • SET_NULL 设置为NULL,仅在该字段null=True允许为null时可用

    • SET_DEFAULT 设置为默认值,仅在该字段设置了默认值时可用

    • SET() 设置为特定值或者调用特定方法,如

    • from django.conf import settings
      from django.contrib.auth import get_user_model
      from django.db import models
      
      def get_sentinel_user():
          return get_user_model().objects.get_or_create(username='deleted')[0]
      
      class MyModel(models.Model):
          user = models.ForeignKey(
              settings.AUTH_USER_MODEL,
              on_delete=models.SET(get_sentinel_user),
          )
    • DO_NOTHING 不做任何操作,如果数据库前置指明级联性,此选项会抛出IntegrityError异常

    数据库迁移命令

    # 生成迁移文件
    python manage.py makemigrations
    
    # 同步到数据库中
    python manage.py migrate
  • 相关阅读:
    Andrew Ng机器学习 二: Logistic Regression
    Andrew Ng机器学习 一: Linear Regression
    python爬有道翻译
    硬件学习之无刷电机理论1
    字符串优化处理
    缓冲&缓存&对象池概念的理解
    线程池的学习及使用
    线程同步&线程池
    数据类型转换&运算符
    集合中常用的数据结构
  • 原文地址:https://www.cnblogs.com/blog-rui/p/10893842.html
Copyright © 2020-2023  润新知