国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

django修改models重建數據庫的操作

瀏覽:3日期:2024-10-15 09:31:00

第二次修改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重建數據庫的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 亚洲午夜精品 | 国产91精品久久久久999 | 亚洲天堂男人天堂 | 成人免费一区二区三区视频软件 | 精品一区二区三区高清免费不卡 | 亚洲男人在线天堂 | 久久频这里精品99香蕉久 | 老司机免费福利午夜入口ae58 | 在线免费看一级片 | 久草免费在线视频观看 | 99re7在线精品免费视频 | 三级com | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 在线黄色影院 | 国产资源免费 | 岛国大片在线播放高清 | 一级做a爰片久久毛片鸭王 一级做a爰全过程免费视频毛片 | 一级a美女毛片 | 在线日韩中文字幕 | 中文一区在线 | 成人免费视频网站 | 欧美一级xxxx俄罗斯一级 | 日本aaaa级 | 精品国产香港三级 | 日韩中文字幕视频 | 欧美一级特黄刺激爽大片 | 日本天堂免费 | 国产在线观看精品 | 欧美一区二区三区gg高清影视 | 久久国产网站 | 免费特黄一级欧美大片在线看 | 亚洲欧美久久一区二区 | 91精品国产高清91久久久久久 | 久久手机精品视频 | 国产精品九九免费视频 | 自拍偷自拍亚洲精品10p | 亚洲日韩aⅴ在线视频 | 99在线观看精品视频 | 亚洲欧美一区二区三区久本道 | 奇米四色综合久久天天爱 | 亚洲国产亚洲片在线观看播放 |