我需要爲從數據庫返回的數據添加一些附加信息。例如,對於Person,DB中有'name'字段,當它顯示在表單上時,我需要添加'{','}'。我認爲'django.forms.fields'模塊'Field'類的方法bound_data是我所需要的。但似乎它用於其他目的。它在表單提交時有效,出於任何原因驗證失敗 - 只是爲了不丟失正確的數據。Django。從DB預處理數據
那麼我怎樣才能爲我的'名字'字段實現一些裝飾?
我需要爲從數據庫返回的數據添加一些附加信息。例如,對於Person,DB中有'name'字段,當它顯示在表單上時,我需要添加'{','}'。我認爲'django.forms.fields'模塊'Field'類的方法bound_data是我所需要的。但似乎它用於其他目的。它在表單提交時有效,出於任何原因驗證失敗 - 只是爲了不丟失正確的數據。Django。從DB預處理數據
那麼我怎樣才能爲我的'名字'字段實現一些裝飾?
你沒有在什麼情況下解釋你需要它。我有類似的問題,我解決它裏面的unicode
class Person(models.Model):
name = models.CharField(max_length=150)
def __unicode__(self):
return '%s,' % self.name
現在裏面形成你將不得不爲模型的Unicode,當你只需要在名稱使用person.name代替。希望能幫助到你。
我怎麼能忘記__unicode__?不知道。它完美地解決了我的一個問題。謝謝。 – sunprophit
我很高興它有幫助。 – Goran
在我的情況下,我想裝飾2個領域。我認爲__unicode__不會幫助我。 – sunprophit
我在Field類的'django.forms.fields'模塊中找到了方法'prepare_value',它使用來自數據庫的數據或與字段的一些初始數據進行一些操作。所以我在'MyField'中覆蓋了這個方法,並把所有的裝飾工作放在裏面。它允許你使用多個字段的模型,所以猜測它比unicode方法更好。
但仍然感謝戈蘭。
upvote this。我發現這個神奇的方法閱讀forms/forms.py,這是正確的解決方案。 – est
您是否正在尋找更改數據庫返回的數據,保存到數據庫的數據,還是隻有當數據呈現在表單中時才呈現數據的方式? – fourk
第三個 - 當且僅當數據呈現在表單內時才呈現數據的方式。 – sunprophit