我使用this snippet在我的管理後臺顯示多個字段爲只讀,但正如在註釋中注意到的,它在stackedinline/tabularinline上不起作用。有沒有其他方法可以實現這一點?我有連接到一個模型對象的列表,只是想表明它的模型詳細信息視圖,而不更改值的可能性。django admin中的只讀字段admin/inline
10
A
回答
17
如果你正在運行的Django 1.3或更高版本;有一個名爲ModelAdmin.readonly_fields的屬性,你可以使用。
InlineModelAdmin
繼承自ModelAdmin
,所以你應該能夠從你的內聯子類中使用它。
2
我今天遇到同樣的問題。這是我的解決方案。這是例如只讀場爲ForeignKey的值:
class MySelect(forms.Select):
def render(self, name, value, attrs=None, choices=()):
s = Site.objects.get(id=value)
return s.name
class UserProfileInlineForm(forms.ModelForm):
site = forms.ModelChoiceField(queryset=Site.objects.all(), widget=MySelect)
class UserProfileInline(admin.StackedInline):
model = UserProfile
form = UserProfileInlineForm
0
由於是使用jQuery的情況下,似乎可以通過更改名爲「禁用」(在我的Safari瀏覽器的作品生成的attr實現這一目標,確定我們」現在在2013年:-))。 以下示例:
def get_form(self, request, obj=None, **kwargs):
result = super(<your ModelAdmin class here>, self).get_form(request, obj=obj, **kwargs)
result.base_fields[<the select field you want to disable>].widget.attrs['disabled'] = 'disabled'
return result
相關問題
- 1. 根據其他字段的值在Django Admin中只讀字段
- 2. 動態添加多個字段到Django Model Admin只讀字段
- 3. 允許django-admin中的標籤爲只讀字段
- 4. 如何在Django admin中對齊只讀字段?
- 5. Django admin:隱藏新記錄的只讀字段?
- 6. 使django admin logEntry只讀嗎?
- 7. django admin如何在只讀字段上顯示小部件
- 8. django admin onetoone字段
- 9. django中的強制性只讀字段
- 10. Django admin覆蓋字段集
- 11. django中的外鍵表單字段admin
- 12. Django admin中的精確字段搜索
- 13. Flask-Admin模型中的只讀文本字段
- 14. Django admin停止只讀內聯驗證
- 15. Django Admin在DateField()字段中刪除「today」
- 16. Django Admin尋找不存在的字段
- 17. Django admin多對多的字段寬度
- 18. django admin:如何在字段集中自定義一個字段?
- 19. Django:在Django的admin用戶中添加新字段
- 20. Django - 將表單添加到django admin中的字段集?
- 21. 從django admin減去兩個字段
- 22. django admin外鍵字段數據添加
- 23. django admin - 隨時添加字段
- 24. 自定義Django admin TabularInline默認字段
- 25. 將`help_text`添加到Django Admin字段
- 26. Django Admin。顯示非模型字段
- 27. Django Admin與OneToOne字段一致
- 28. 只寫只讀字段
- 29. Nginx/Django Admin POST https只有
- 30. 如何在django表單中創建可選的只讀字段?
感謝您的回答,不幸的是,這是一個高效的系統,我無法使用開發版。 – schneck 2010-01-29 13:11:39
供參考:這似乎是在生產(Django 1.3有) – 2011-09-28 20:01:24
感謝您的注意。我已經相應地更新了答案。 :) – drmegahertz 2011-09-29 09:03:14