Chciałbym, aby moje modele miały dwie reprezentacje ciągów: jedną, która jest wyświetlana w dziennikach zaplecza do celów debugowania, i czystszą, która jest wyświetlana użytkownikom końcowym, gdy model jest reprezentowany w kodzie HTML . Właśnie nadpisuję __unicode__()
. Czy jest jakiś sposób na zrobienie tego?Django: reprezentacja ciągów modeli
8
A
Odpowiedz
16
Możesz również wypróbować __repr__
i __str__
dla celów rejestrowania/debugowania. Możliwe (przynajmniej powinno być tak), że twój logger/debugger używa repr(object)
do rejestrowania twoich obiektów.
7
użyć właściwości
class SomeThing(models.Model):
foo=
bar=
baz=
def __unicode__(self):
return "{0} {1}".format(self.foo, self.bar)
@property
def details(self):
return repr(dict(foo=self.foo, bar=self.bar, baz=self.baz))
Teraz możesz zalogować someObject.details
+0
Co z tym atrybutem "__repr__"? Czy to może być jakoś wykorzystane? Tak więc "__unicode__" dobrze wyświetla łańcuch w np. admin, a "szczegóły" dobrze jest zrzucić obiekt do logów? – Tjorriemorrie
Powiązane problemy
- 1. Wewnętrzna reprezentacja ciągów w PHP
- 2. Django - reprezentacja graficzna modelu (ERD)
- 3. Sfinks - dokumentacja modeli Django
- 4. Django - Obsługa "modeli enum"
- 5. Zamawianie definicji modeli Django
- 6. Reprezentacja serializatora Django Rest Framework nie działa
- 7. Django Administrator: Pokaż listę modeli
- 8. Czytelna dla człowieka reprezentacja ciągów tabelkowych w Lua
- 9. Kanoniczna reprezentacja BigDecimal
- 10. Testowanie modeli Django za pomocą FileField
- 11. Lista rozwijana Django formularza przechowywanych modeli
- 12. Generowanie unikatowych skrótów dla modeli django
- 13. Czy jest dobry WikiField dla modeli django?
- 14. Około 20 modeli w 1 aplikacji django
- 15. Django wiele modeli zapisać pojedynczy popełnić
- 16. Automatyczne importowanie modeli w powłoce Django
- 17. Django: Wiele wierszy z dwóch modeli od
- 18. Wiele modeli Django, ta sama tabela
- 19. Korzystanie z modeli i formularzy poza Django?
- 20. zamawiania modeli Django metodą w modelu
- 21. Django: zachowaj leniwy tłumaczenie podczas komponowania przetłumaczonych ciągów znaków
- 22. C# stała binarna reprezentacja
- 23. Reprezentacja HEX tablicy bajtowej
- 24. Reprezentacja macierzy w schemacie
- 25. Ast reprezentacja funkcji lambda
- 26. Wewnętrzna reprezentacja list Haskella?
- 27. Reprezentacja drzewa w F #
- 28. reprezentacja pieniędzy w mongoidzie
- 29. Reprezentacja binarna .NET dziesiętna
- 30. Reprezentacja współrzędnych w GeoAlchemy2
Rzeczywiście, '__repr__' służy do debugowania/reprezentacji wewnętrznej i albo' '__str__' __unicode__' lub do ogólnego użytku. To powinno mieć więcej upvotes. –