[英]Django 1.7 app registry: defining blank/required based on DB query
我有一個數據庫字段,在其中我希望required
值取決於存儲在數據庫中的某些設置。 作為一個簡單的例子:
class ModelSetting(models.Model):
key=models.CharField(unique=True)
value=models.BooleanField()
def get_setting(key):
return ModelSetting.objects.get(key=key).value
class MyModel(models.Model):
phone_number=models.CharField(required=get_setting("phone_required"))
問題在於ModelSetting
是在與MyModel
完全不同的模塊中MyModel
,因此我猜想在導入時(當評估phone_number
字段時)無法使用ModelSetting
模型。 是這樣嗎 並且有可能的解決方法嗎?
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
required
不是對models.CharField
的有效選項,您可能想設置為blank
。
您確定要模型依賴數據庫中的設置嗎? 這意味着當模型設置更改時,Django將提示您進行遷移。
另一種方法是在模型字段中設置blank=True
,然后檢查表單中的phone_required
設置。 這樣,您應該能夠避免AppRegistryNotReady
錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.