在我的 models.py 中,我的模型商店包含名稱、品牌名稱欄位
現在,我想從 Django 管理員動態地在商店模型中創建名為 brand_type 的新欄位,我該怎么做?我們可以使用 SchemaEditor 更改模型的模式嗎?如何?
uj5u.com熱心網友回復:
您不能通過管理面板創建模型的欄位
您must在models.py
管理面板只是一種方便的方式來操作你的資料庫,但不能修改它的表
uj5u.com熱心網友回復:
它需要在服務器運行時遷移。在您的模型下創建brand_type欄位并設定空白=真
uj5u.com熱心網友回復:
在你的models.py
class Store(models.Model):
name = ...
brand_name = ...
brand_type = models.CharField(max_length = 40, blank= True, null =true)
在您的控制臺中
./manage.py makemigrations
./manage.py migrate
額外的東西:
如果您對文本選擇感興趣
或者
如果您想根據您的用例使其更具動態Store性,請創建一個名為 BrandType 的模型并將其鏈接到使用
brand_type = models.ForeignKey(BrandType,on_delete=models.PROTECT)
models.py
class BrandType(models.Model):
name = ...
some_other fields=
#... Store model follows
admin.py
# other stuff
from .models import BrandType
admin.site.register(BrandType)
帶走:不建議models.py直接使用管理員修改您的檔案,這會導致完整性問題,并且有更好的方法來實作您想要的功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/478781.html
下一篇:在Django中單獨渲染表單元素
