最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django修改models重建數(shù)據(jù)庫的操作

 更新時(shí)間:2020年03月31日 10:25:07   作者:yue492008824  
這篇文章主要介紹了django修改models重建數(shù)據(jù)庫的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

第二次修改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

于是刪除數(shù)據(jù)庫表,繼續(xù)報(bào)相同的錯(cuò)誤

makemigration需要指定名稱,然后migrate才能識(shí)別兩次<span style="font-family: Arial, Helvetica, sans-serif;">makemigrations的不同</span>

python manage.py makemigrations --name sqlname

然后再執(zhí)行:

python manage.py migrate

成功解決問題!

補(bǔ)充知識(shí):django rest framework如何一次性序列化同一個(gè)數(shù)據(jù)庫下多個(gè)model表數(shù)據(jù)在一個(gè)json頁面下

在django項(xiàng)目中,首先我們要安裝django-rest-mutiple-models

pip install django-rest-multiple-models

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

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


在我們的views視圖函數(shù)下引入

from drf_multiple_model.views import ObjectMultipleModelAPIView

如下兩個(gè)模型

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中我們可以這么寫,繼承一個(gè)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,那這里我們就應(yīng)該繼承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},
 ....
 ],
}

效果就是能在一個(gè)json頁面下序列化出多個(gè)不同的model數(shù)據(jù)

我們還可以對(duì)每個(gè)表的數(shù)據(jù)進(jìn)行分頁

from drf_multiple_model.pagination import MultipleModelLimitOffsetPagination

views下可以這么寫

class LimitPagination(MultipleModelLimitOffsetPagination):
default_limit = 10

意思是每個(gè)model默認(rèn)顯示前十條數(shù)據(jù)

如果前端需要,url上可以加上limit=5,自定義默認(rèn)顯示前五條數(shù)據(jù)

更多詳細(xì)內(nèi)容,github搜索DjangoRestMultipleModels

以上這篇django修改models重建數(shù)據(jù)庫的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 變量類型詳解

    Python 變量類型詳解

    變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲(chǔ)整數(shù),小數(shù)或字符。這篇文章主要介紹了Python 變量類型詳解,需要的朋友可以參考下
    2018-10-10
  • python繪制折線圖和條形圖的方法

    python繪制折線圖和條形圖的方法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)折線圖和條形圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python logging模塊書寫日志以及日志分割詳解

    python logging模塊書寫日志以及日志分割詳解

    這篇文章主要為大家詳細(xì)介紹了python logging模塊書寫日志的方法,并對(duì)日志進(jìn)行分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • python 讀取二進(jìn)制 顯示圖片案例

    python 讀取二進(jìn)制 顯示圖片案例

    這篇文章主要介紹了python 讀取二進(jìn)制 顯示圖片案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 淺談Python之Django(二)

    淺談Python之Django(二)

    這篇文章主要介紹了Python3中的Django,小編覺得這篇文章寫的還不錯(cuò),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧,希望能夠給你帶來幫助
    2021-10-10
  • python中使用Celery容聯(lián)云異步發(fā)送驗(yàn)證碼功能

    python中使用Celery容聯(lián)云異步發(fā)送驗(yàn)證碼功能

    Celery 是一個(gè) 基于python開發(fā)的分布式異步消息任務(wù)隊(duì)列,通過它可以輕松的實(shí)現(xiàn)任務(wù)的異步處理,本文重點(diǎn)給大家介紹使用Celery容聯(lián)云異步發(fā)送驗(yàn)證碼功能,感興趣的朋友一起看看吧
    2021-09-09
  • Python中幾種操作字符串的方法的介紹

    Python中幾種操作字符串的方法的介紹

    這篇文章主要介紹了詳解Python中幾種操作字符串的方法,字符串的操作是Python學(xué)習(xí)中最基礎(chǔ)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-04-04
  • 提高?Python?開發(fā)效率的3個(gè)小工具

    提高?Python?開發(fā)效率的3個(gè)小工具

    這篇文章主要給大家分享得事提高?Python?開發(fā)效率的3個(gè)小工具,它們能夠幫助我們提高工作效率。本文將介紹筆者在近一周發(fā)現(xiàn)的三個(gè)小工具,寫文章以做記錄,希望能對(duì)大家有所幫助
    2022-01-01
  • python 模擬登陸163郵箱

    python 模擬登陸163郵箱

    這篇文章主要介紹了python 模擬登陸163郵箱的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python defaultdict方法使用分析

    Python defaultdict方法使用分析

    在使用Python字典的過程中,如果沒有key就會(huì)自動(dòng)報(bào)錯(cuò),這時(shí)就需要python中defaultdict函數(shù)發(fā)揮作用。defaultdict是Python內(nèi)建dict類的一個(gè)子類,功能與dict相同,但可以產(chǎn)生一個(gè)帶有默認(rèn)值的dict,如果key不存在,就會(huì)返回默認(rèn)值
    2022-10-10

最新評(píng)論

突泉县| 湘乡市| 建湖县| 平利县| 枣阳市| 岳池县| 呼图壁县| 黄平县| 汪清县| 峨边| 芦山县| 南开区| 甘南县| 平果县| 古蔺县| 麻栗坡县| 北安市| 万荣县| 喀喇沁旗| 西丰县| 永泰县| 抚顺县| 万全县| 博湖县| 玉屏| 曲阳县| 西贡区| 宁明县| 呼伦贝尔市| 康平县| 鸡泽县| 和田市| 台安县| 自治县| 商都县| 平利县| 商城县| 蒲江县| 手机| 鹤岗市| 怀化市|