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实现的防DDoS脚本
Feb 08 Python
python实现得到一个给定类的虚函数
Sep 28 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
Numpy array数据的增、删、改、查实例
Jun 04 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
python设置中文界面实例方法
Oct 27 Python
python图片灰度化处理的几种方法
Jun 23 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
python实现ipsec开权限实例
2014/11/11 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
Django如何使用redis作为缓存
2020/05/21 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
大学生职业生涯规划书模版
2013/12/30 职场文书
听课评语大全
2014/04/30 职场文书
基层党支部整改方案
2014/10/25 职场文书
党员转正大会主持词
2015/07/02 职场文书
暑期工社会实践报告
2015/07/13 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
Python 视频画质增强
2022/04/28 Python