2015-04-17 50 views
-1

使用Django 1.6.5,我有一種情況,我想通過將內聯表單中的某個模式與特定的記錄進行比較來將其記錄爲只讀。如何在Django表單中創建只讀記錄?

可以做到這一點嗎?

+3

那麼如果你能向我們展示更多關於你做了什麼以及你無法做到的事情,我們可以幫助你更多,因爲你的問題相當抽象 – tgdn

+2

可能的重複[在django表單中,How使字段只讀(或禁用),以便它不能被編輯?](http://stackoverflow.com/questions/324477/in-a-django-form-how-to-make-a-field-readonly-或禁用所以它不能b) – rnevius

+0

歡迎來到堆棧溢出,我試圖重新說出你的問題,使其更清楚你在找什麼,但它看起來好像這個問題已被問到之前。如果以前沒有問過,可以在問題中添加一些細節以將其與現有問題分開嗎? –

回答

0

是的,這可以通過使用父模型形式init方法的示例代碼:

class VForm(forms.ModelForm): 

    def __init__(self, *args, **kwargs): 
     super(VForm, self).__init__(*args, **kwargs) 

     if self.instance.field == 'Y': 
      self.fields['field2'] = forms.ChoiceField(
       choices=[(self.instance.field, 
          self.instance.field),], required=True) 

這將過濾僅限於1的選擇的選擇字段,和一個空白到從上面。在情況下,選擇「N '作爲選擇領域之一被壓制。 模型領域也是如此。

1

你可以用jQuery來做。如果適合你,這是客戶的方式。

你可以通過類似的形式(abc_1,abc_2等)生成的使用ID表單字段的值

,那麼你可以與一些值進行比較,並使用ID應用CSS(「禁用」,真)到特定領域。

相關問題