Używam this snippet do wyświetlania kilku pól w moim zapleczu administracyjnym jako readonly, ale jak zauważono w komentarzach, nie działa on na stackedinline/tabularinline. Czy jest jakiś inny sposób na osiągnięcie tego? Mam listę obiektów dołączonych do modelu i chcę go pokazać w widoku szczegółów modelu bez możliwości zmiany wartości.Pola tylko do odczytu w django admin/inline
10
A
Odpowiedz
17
Jeśli używasz Django 1.3 lub nowszego; istnieje atrybut o nazwie ModelAdmin.readonly_fields, którego możesz użyć.
dziedziczy po ModelAdmin
, więc powinieneś być w stanie używać go z podklasy wbudowanej.
2
Znam ten sam problem już dziś. Oto moje rozwiązanie. To jest przykład tylko do odczytu pola dla wartości 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
jak w przypadku z JQuery, wydaje się, można to osiągnąć poprzez zmianę o attr nazwie „Disabled” (prace w moim Safari, OK my” teraz w 2013 :-)). Przykład poniżej:
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
Powiązane problemy
- 1. Pole tylko do odczytu w formularzu Django
- 2. Tworzenie pola tylko do odczytu w Django Admin, w oparciu o wartość innego pola
- 3. Resharper zmienia pola tylko do odczytu
- 4. Kanał "tylko do odczytu" tylko do odczytu
- 5. Przypisywanie do statycznego pola tylko do odczytu w klasie bazowej
- 6. Jak wyrównać etykiety i tylko do odczytu pola w formularzu
- 7. Cały model jako tylko do odczytu
- 8. Edytor MVC3 Tylko do odczytu
- 9. C#, niezmienność i publiczne pola tylko do odczytu
- 10. Właściwości tylko do odczytu
- 11. Prywatne statyczne Odczytanie z pola tylko do odczytu
- 12. Jak słownika tylko do odczytu w Pythonie
- 13. Django: Zapytania tylko do odczytu zobaczyć bez klucza podstawowego
- 14. projekt Django Heroku tylko do odczytu systemu plików
- 15. Django unittest testowe tylko do odczytu bazy danych
- 16. Właściwość tylko do odczytu OData
- 17. Tylko do odczytu obserwowalna kolekcja
- 18. Lista ciągów tylko do odczytu
- 19. Otwórz plik tylko do odczytu
- 20. Tabela jest „tylko do odczytu”
- 21. SQLite/PHP tylko do odczytu?
- 22. Komórki DataGridView tylko do odczytu
- 23. CoreOS: tylko do odczytu systemu
- 24. tylko do odczytu atrybutów przełącz
- 25. Edycja widoku tylko do odczytu
- 26. Zastępowanie właściwość tylko do odczytu w podklasie
- 27. NHibernate Linq w trybie tylko do odczytu
- 28. Czy tylko do odczytu w Objective-C?
- 29. Oprawa do odczytu tylko getter w AS3
- 30. Jak DropdownList tylko do odczytu w C#
dziękuję za odpowiedź, niestety, jest to system produktywny, w którym nie mogę używać wersji dev. – schneck
FYI: wydaje się, że teraz jest w produkcji (Django 1.3 ma) –
Dzięki za uwagę. Odpowiednio zaktualizowałem odpowiedź. :) – drmegahertz