[英]Conditional Django Model Creation
我正在為django
編寫一個我打算發布的應用程序。 此應用需要Bolean
設置變量CONSUMER_REGISTRATION
。
獲取此變量的目的是決定是否定義ConsumerRegistrationModel
。
這就是我所做的。
from django.db import models
from django.conf import settings
if getattr(settings, 'CONSUMER_REGISTRATION', False):
class ConsumerRegistration(models.Model):
...
它的工作正常。 我面臨的唯一問題是,開發人員每次更改設置變量時都需要運行makemigrations和遷移命令。
1-這項工作可以自動化嗎? 。 因此,如果他們更改了變量,那么django中的一些代碼會自動運行makemigrations和migration命令。
2-還是將這項工作留給開發人員完全可以嗎?
3-另外我想問一問,在Django中這樣做是一個好方法嗎?
您可以簡單地定義模型而沒有任何條件,並調整應用程序邏輯,以便僅當'CONSUMER_REGISTRATION'
標志設置為True
時, ConsumerRegistration
模型的實例才與(例如,創建,更新等)進行交互。
每次更改'CONSUMER_REGISTRATION'
的值都運行遷移,比將ConsumerRegistration
表保留為空會造成更多的混亂。
如@ dahrens所示 ,您可以在一個單獨的應用程序中隔離ConsumerRegistration
模型以及相關邏輯,該應用程序僅在開發人員需要時才安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.