第二次修改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 大於等...