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随机生成数据后插入到PostgreSQL
Jul 28 Python
Python实现命令行通讯录实例教程
Aug 18 Python
Python实现矩阵加法和乘法的方法分析
Dec 19 Python
python装饰器深入学习
Apr 06 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
Python文件读写w+和r+区别解析
Mar 26 Python
Python参数传递及收集机制原理解析
Jun 05 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
python基础学习之生成器与文件系统知识总结
May 25 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
我的论坛源代码(二)
2006/10/09 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
RequireJs的使用详解
2017/02/19 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
Django集成celery发送异步邮件实例
2019/12/17 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
国际贸易专业个人求职信格式
2014/02/02 职场文书
农村葬礼主持词
2014/03/31 职场文书
房产委托公证书样本
2014/04/04 职场文书
电子专业求职信
2014/06/19 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
合作经营协议书范本
2014/09/16 职场文书
反邪教观后感
2015/06/11 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python
Python3.10的一些新特性原理分析
2021/09/15 Python
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis