一、修改ORM

1、任何关于表结构的修改,务必在对应模型类上修改。

2、在上一篇博文中,创建了bookstore_book表,如果需要再添加一个名为info(varchar 100)的字段,则需要如下操作:

(1)在模型类中添加字段

(2)执行数据迁移

(3)检查mysql数据库。修改已经同步至mysql数据库。

二、模型中常用的字段类型

1、模型中常用的字段类型。详见官方文档:https://yiyibooks.cn/qy/django2/ref/models/fields.html

2、models文件下,每一个类代表一张表,所以不限制类的数量。每实例化一次类,就相当于插入一条数据行。

3、模型类定义的一般模板:

4、字段选项,指定创建的列的额外的信息。包括:primary_key、blank、null、default、db_index、unique、db_column等。如下:

三、模型内部的Meta类

1、作用:

四、常见问题汇总

1、model中的字段未添加默认值。

2、数据库迁移的问题

(1)当项目中有多个数据库操作时,执行python migration命令总是会增量地执行,这是因为在django的后台中,有一个表django_migration用于记录执行数据库操作的状态。最新的一条数据就是最近执行的migration操作记录。

(2)问题:一般情况下,当多人协同开发时,migration文件下的文件不能提交,但是经常会由于误操作导致文件夹下的内容被提交。从而导致本地测试的版本和项目的版本出现不一致。

(3)解决办法:清除所有migration文件,删除表,并重新提交建表文件。

django_ORM基础字段和选项的更多相关文章

  1. 10.-ORM-基础字段及选项

    一.ORM-基础字段及选项 任何关于表结构的修改,务必在对应模型类上修改 例如 给 books_book表添加一个info字段 varchar(100) 1.在模型中添加对应的类属性 2.执行数据库迁 ...

  2. 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

    1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...

  3. django模型:字段和选项

    https://blog.csdn.net/iloveyin/article/details/44852645一.常用字段1.字段类型使用时需要引入django.db.models包,字段类型如下Au ...

  4. 0012 基于DRF框架开发(04 序列化器的字段与选项)

    1 常用字段类型 字段 构造方式 BooleanField BooleanField() NullBooleanField NullBooleanField() CharField CharField ...

  5. ASP.NET Core 2.2 基础知识(七) 选项模式

    承接上一篇 配置, 选项模式是专门用类来表示相关配置的服务. 基本选项配置 新建一个选项类,该类必须是包含无参数的构造函数的非抽象类. public class MyOptions { public ...

  6. Java基础之处理事件——选项按钮的鼠标监听器(Lottery 2 with mouse listener)

    控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import ...

  7. Mysql基础1-基础语法-字段类型

    主要: 基础 字段类型 基础 基本概念 1) 数据库分类 层次数据库,网状数据库,关系数据库 常见:SQL Server, Oracle,infomix,sybase,ibmDB2,Mysql 2)数 ...

  8. tcp/ip详解-ip头部选项字段

    IP头部的选项字段 作用:用于网络调试和测试 IP首部的可变部分就是一个可选字段.选项字段用来支持排错.测量以及安全等措施,内容很丰富.此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目 ...

  9. Django数据模型——通用字段选项

    字段 一个模型最重要也是唯一必需的部分,是它定义的数据库字段 字段名称限制 1.字段名不能是python保留字,这样会导致python语法错误 2.字段不能包含连续一个以上的下划线,这样会和Djang ...

  10. 二 Djano模型层之模型字段选项

    字段选项 以下参数是全部字段类型都可用的,而且是可选的 null 如果为True,Django将在数据库中将空值存储为NULL.默认值为False 对于字符串字段,如果设置了null=True意味着& ...

随机推荐

  1. printf函数size_t的替换字符串zu

    参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-th ...

  2. Andorid 11获取外部存储权限方法

    private void requestmanageexternalstorage_Permission() { if (Build.VERSION.SDK_INT >= Build.VERSI ...

  3. sed 命令添加字符串

    指定行替换字符串: sed '1,$ s/you/she/g' a.txt :(对源文件添加的话就用-i参数)-i参数是对源文件进行修改: 1 i 在第一行前面添加: 2 i 在第二行前面添加: $a ...

  4. vue中v-if控制的可编辑div(contenteditable='true')无法绑定@input事件

    <div class="content-container" ref="contentContainer"> <div v-if=" ...

  5. 4K60帧!RayLink远程控制软件如何帮助设计师远程办公?

    司机在家能远程工作吗?大写的"能"!!!如果你听说过司机远程办公,那你一定对下面这张图不陌生~ (远程办公的叉车司机) 这张图展示的是负责在库房工作的叉车司机在非办公区域远程办公的 ...

  6. Oracle 低版本客户端连接19C报错ORA-28040

    # 适用范围12.2+# 问题概述客户使用Oracle11.2客户端连接Oracle 19c的时候,报错: ORA-28040: No matching authentication protocol ...

  7. C++书写的第一个类

    1.建立Student.h头文件 #ifndef STUDENT_H #define STUDENT_H #include <string> using namespace std; cl ...

  8. C++实现线性表-顺序表的合并操作代码

    #include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...

  9. antd DatePicker限制日期的选择

    import React from 'react'; import ReactDOM from 'react-dom'; import {Input,DatePicker,Form,Col,Butto ...

  10. dialog弹窗里生成二维码 (reading qppendChild)

    在dialog弹窗里生成二维码第一次点击时 dialogFormVisible.value=false,二维码生成时会找不到对象可以用nextTick()函数 将二维码生成代码放到nextTick() ...