我使用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 admin:隱藏新記錄的只讀字段?
- 3. 使django admin logEntry只讀嗎?
- 4. django admin如何在只讀字段上顯示小部件
- 5. django中的強制性只讀字段
- 6. Flask-Admin模型中的只讀文本字段
- 7. Django admin中的精確字段搜索
- 8. django中的外鍵表單字段admin
- 9. Django Admin在DateField()字段中刪除「today」
- 10. Django admin多對多的字段寬度
- 11. django admin:如何在字段集中自定義一個字段?
- 12. Django - 將表單添加到django admin中的字段集?
- 13. django admin - 隨時添加字段
- 14. Django Admin與OneToOne字段一致
- 15. 自定義Django admin TabularInline默認字段
- 16. 從django admin減去兩個字段
- 17. 將`help_text`添加到Django Admin字段
- 18. Django Admin。顯示非模型字段
- 19. 只寫只讀字段
- 20. Nginx/Django Admin POST https只有
- 21. 如何在django表單中創建可選的只讀字段?
- 22. DB中的約束只讀字段(尤其是PostgreSQL和Django ORM)
- 23. flask-admin只讀集合
- 24. 想在Admin中添加一個Form字段以及django中的Model字段
- 25. django-rest-framework PUT重寫只讀中斷字段
- 26. TabularInlines只讀字段是可刪除的
- 27. 刪除django的外鍵字段中的默認選擇admin
- 28. 如何根據用戶限制django-admin中的字段?
- 29. 在Django Admin中調整字段的大小
- 30. 在Django中內嵌多個一對一的字段admin
感謝您的回答,不幸的是,這是一個高效的系統,我無法使用開發版。 – schneck 2010-01-29 13:11:39
供參考:這似乎是在生產(Django 1.3有) – 2011-09-28 20:01:24
感謝您的注意。我已經相應地更新了答案。 :) – drmegahertz 2011-09-29 09:03:14