django修改models重建数据库的操作


Posted in Python onMarch 31, 2020

第二次修改models.py以后再次

python manage.py makemigrations

提示如下

You are trying to add a non-nullable field 'address' to xc_users without a default; we can't do that (the database needs something to populate existing rows). Please select a fix: 1) Provide a one-off default now (will be set on all existing rows) 2) Qu

于是删除数据库表,继续报相同的错误

makemigration需要指定名称,然后migrate才能识别两次<span style="font-family: Arial, Helvetica, sans-serif;">makemigrations的不同</span>

python manage.py makemigrations --name sqlname

然后再执行:

python manage.py migrate

成功解决问题!

补充知识:django rest framework如何一次性序列化同一个数据库下多个model表数据在一个json页面下

在django项目中,首先我们要安装django-rest-mutiple-models

pip install django-rest-multiple-models

然后在setting配置中配置一下APP

INSTALLED_APPS = (
 ....
 'drf_multiple_model',
)

在我们的views视图函数下引入

from drf_multiple_model.views import ObjectMultipleModelAPIView

如下两个模型

class Play(models.Model):
 genre = models.CharField(max_length=100)
 title = models.CharField(max_length=200)
 pages = models.IntegerField()
 
class Poem(models.Model):
 title = models.CharField(max_length=200)
 style = models.CharField(max_length=100)
 lines = models.IntegerField()
 stanzas = models.IntegerField()

序列化如下

class PlaySerializer(serializers.ModelSerializer):
 class Meta:
 model = Play
 fields = ('genre','title','pages')
 
class PoemSerializer(serializers.ModelSerializer):
 class Meta:
 model = Poem
 fields = ('title','stanzas')

views中我们可以这么写,继承一个ObjectMutipleModelAPIView

from drf_multiple_model.views import ObjectMultipleModelAPIView
 
class TextAPIView(ObjectMultipleModelAPIView):
 querylist = [
 {'queryset': Play.objects.all(), 'serializer_class': PlaySerializer},
 {'queryset': Poem.objects.filter(style='Sonnet'), 'serializer_class': PoemSerializer},
 ....
 ]

如果我们使用的url是router,那这里我们就应该继承ObjectMutipleModelAPIViewset

具体的引入

from drf_multiple_model.viewsets import ObjectMultipleModelAPIViewSet

DRF页面的显示效果如下

{
 "Play" : [
 {"genre": "Comedy", "title": "A Midsummer Night"s Dream", "pages": 350},
 {"genre": "Tragedy", "title": "Romeo and Juliet", "pages": 300},
 ....
 ],
 "Poem" : [
 {"title": "Shall I compare thee to a summer"s day", "stanzas": 1},
 {"title": "As a decrepit father takes delight", "stanzas": 1},
 ....
 ],
}

效果就是能在一个json页面下序列化出多个不同的model数据

我们还可以对每个表的数据进行分页

from drf_multiple_model.pagination import MultipleModelLimitOffsetPagination

views下可以这么写

class LimitPagination(MultipleModelLimitOffsetPagination):
default_limit = 10

意思是每个model默认显示前十条数据

如果前端需要,url上可以加上limit=5,自定义默认显示前五条数据

更多详细内容,github搜索DjangoRestMultipleModels

以上这篇django修改models重建数据库的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之画圈还不简单吗?
Sep 20 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
python实现折半查找和归并排序算法
Apr 14 Python
老生常谈Python进阶之装饰器
May 11 Python
Python 多进程和数据传递的理解
Oct 09 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
使用django实现一个代码发布系统
Jul 18 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
Python之Sklearn使用入门教程
Feb 19 Python
Python写捕鱼达人的游戏实现
Mar 31 #Python
Django 多对多字段的更新和插入数据实例
Mar 31 #Python
基于python爬取有道翻译过程图解
Mar 31 #Python
django实现将修改好的新模型写入数据库
Mar 31 #Python
Python urlencode和unquote函数使用实例解析
Mar 31 #Python
Python响应对象text属性乱码解决方案
Mar 31 #Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 #Python
You might like
php基础知识:类与对象(1)
2006/12/13 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
Python兔子毒药问题实例分析
2015/03/05 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
英国医生在线预约:Top Doctors
2019/10/30 全球购物
亲子拓展活动方案
2014/02/20 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
初中生活随笔
2015/08/15 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS