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 正则表达式实现计算器功能
Apr 29 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
python感知机实现代码
Jan 18 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
查看已安装tensorflow版本的方法示例
Apr 19 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
python元组打包和解包过程详解
Aug 02 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
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python简单I/O操作示例
2019/03/18 Python
Django的models中on_delete参数详解
2019/07/16 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python内置函数及功能简介汇总
2020/10/13 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
毕业生的自我评价分享
2013/12/18 职场文书
仓库主管岗位职责
2014/03/02 职场文书
向领导表决心的话
2014/03/11 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
微观世界观后感
2015/06/10 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python