django Models与数据库关系

在对django的models数据更改之后做迁移时,出现了更改记录缺失,每次更改的时候总是会将表中已存在的字段重新添加到记录中,迁移数据库就会出现错误

解决办法就是将models与表完全脱离,

在models中的表配置以下属性

class Meta:
managed = False
db_table =tablename

操作流程:

先更改表的配置,然后更改models,保持两者一致,在进行数据库迁移

python manage.py makemigrations

python manage.py migrate

models的更改不会对表产生影响,orm等操作也会生效,

解决了models与表的强映射关系

原文地址:https://www.cnblogs.com/wszxdzd/p/11015787.html

时间: 2024-10-14 05:10:38

django Models与数据库关系的相关文章

Django models里的关系映射

一.一对一映射 1.什么是一对一 A表中的一条记录只能与B表中的一条记录相关联如:一夫一妻制 2.语法 允许在关联的两个类的任何一个类中 增加: 属性 = models.OneToOneField(Entry) 3.查询 class Wife(models.Model): ... author=models.OneToOneField(Author) 1.正向查询:通过wife 找 author wife = Wife.objects.get(id=1) author = wife.author

django models进行数据库增删查改

引入models的定义 from app.models import  myclass class  myclass(): aa =  models. CharField (max_length=None) bb =  models. CharField (max_length=None) def __unicode__(self): return u'%s %s' %(aa,bb) 增 添加一行数据1 add = myclass(aa='wahaha',bb='hahawa' ) add.sa

Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'

code: 1 #encoding=utf-8 2 from django.db import models 3 # Create your models here. 4 class BookInfo(models.Model): #创建书本信息类,继承models.Model 5 booktitle=models.CharField(max_length=20) 6 bookdata=models.DateField() 7 class HeroInfo(models.Model): #创建英

django models 数据库操作

django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class Message(models.Model): pass class Teacher(models.Model): pass class Student(models.Model): GENDER_CHOICES = ( ('male', "男"), ('female', "女&q

Django在使用models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'

Django 提供完善的模型(model)层主要用来创建和存取数据,不需要我们直接对数据库操作.Django 模型基础知识: 1.每个模型是一个 Python 类,继承 django.db.models.model 类. 2.该模型的每个属性表示一个数据库表字段. 程序代码如下: # 创建应用程序数据表模型(对应数据库的相关操作) from django.db import models # 导入models模块 class Event(models.Model): # 创建Event类,继承m

django 将原本数据库中的表导入models中

django 将原本数据库中的表导入models中 连接mysql数据库(创建app,修改settings配置,使用pymysql连接mysql数据库) 根据数据库原有的数据生成对应的models模型文件 生成模型文件 python3 manage.py inspectdb 将模型文件导入app中 python3 manage.py inspectdb > app名/models.py 原文地址:https://www.cnblogs.com/lucky75/p/11380648.html

09 Django 模型(数据库)

Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 一.打开model文件,修改其中代码 from django.db import models class Person(models.Model): name = models.CharField(max_length

Django model与数据库操作对应关系(转)

? Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法: QuerySet是Manager的方法返回的,是一个可遍历结构,包含一个或多个元素,每个元素都是一个Model 实例,它里面的方法也是表级方法. Model是一条记录的类,它的功能很强大,里面包含外键实体等,它的方法都是记录级方法(都是实例方

2.3、django项目对数据库的操作

在讲django项目对数据库操作之前先看看MyOSS/MyOSS的几个文件吧. /MyOSS …__init__py #在python里,不管是class,还是django里的project和app都一个这个的文件,表示初始化该类或者模块 …settings.py #Django项目主要的配置文件,比如数据库引擎,数据库配置,语言,字符编码,支持的调试模式,时区,已经加载的模块,静态文件目录,根目录的URL配置等等.. …models.py #Django项目数据库映射文件. …urls.py