django修改models重建資料庫的操作

2022-10-04 14:36:28 字數 2459 閱讀 4279

第二次修改momkihahjsudels.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才能識別兩次makemigrations的不同

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(serializwww.cppcns.comers.modelserializer):

class meta:

model = poem

fields = ('title','stanzas')

views中我們可以這麼寫,繼承乙個objectmutiplemodelapiview

from drf_multiple_model.views import objectmultiplemodelapiview

class textapiview(objectmult程式設計客棧iplemodelapiview):

querylist = [

, ,....

]如果我們使用的url是router,那這裡我們就應該繼承objectmutiplemodelapiviewset

具體的引入

from drf_multiple_model.viewsets import objectmultiplemodelapiviewset

drf頁面的顯示效果如下

,, ....

], "poem" : [

, ,....

],}效果就是能在乙個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官方文件 Models

1.模型是對資料的描述,乙個模型對應資料庫中的乙個表 2.模型的基類都是django.db.models.model model中的每乙個屬性代表資料庫中的乙個字段 3.欄位 fields model中的fields是一組資料庫欄位的列表,欄位有類屬性指定 欄位的引數 field option nu...

django框架models使用

mysql現有表反向生成models類 python manage.py inspectdb 1 生成的類輸出到控制台 python manage.py inspectdb 2 生成的類輸出到檔案 python manage.py inspectdb server models server是應用目...

Django的models中filter的各種用法

exact 精確等於 like aaa iexact 精確等於 忽略大小寫 ilike aaa contains 包含 like aaa icontains 包含 忽略大小寫 ilike aaa 但是對於sqlite來說,contains的作用效果等同於icontains。gt 大於 gte 大於等...