2010-07-28 7 views
6

Automapper ist ein Objekt-Objekt-Mapper, mit dem wir das Domänenmodell projizieren können, um das Modell in asp.net mvc anzuzeigen.Gibt es eine Python-Implementierung für .net-AutoMapper?

http://automapper.codeplex.com/

Gibt es gleichwertige Implementierung in Python für die Verwendung in Django (Template)/Pylone? Oder gibt es dafür in der Python-Welt eine Notwendigkeit?

+0

Sie sollten Antwort godswearhats akzeptieren - Objekt-Objekt-Mapping für Django/Pylone nicht verfügbar ist, und in der Regel nicht notwendig ist in den meisten Fällen Python, vor allem, weil Python ist dynamisch typisiert und ermöglicht es Ihnen, Meistens ist das Objekt-Objekt-Mapping für andere Zwecke gedacht. –

+0

@ Fabian/@ godswearhats - Was ist mit Caching von Objekten zu einem externen Dienst? Die meisten Bibliotheken in Python verwenden die integrierte Pickle-Bibliothek, die Probleme mit Objekten und verschachtelten Objektgraphen hat, so dass dies ein Anwendungsfall für die Verwendung eines automatischen Adapters sein könnte. – longda

Antwort

3

Dies ist in Python im Allgemeinen nicht erforderlich. Wir haben einige ziemlich komplexe Domain-Modelle und können sie problemlos in unseren Ansichten verwenden, ohne dabei Leistungsprobleme zu bemerken, und wir liefern Millionen von Seitenaufrufen pro Monat.

Denken Sie auch daran, dass "Ansicht" in Django == "Controller" in MVC, und "Vorlage" in Django ist "Ansicht" in MVC. Daher MTV statt MVC. Etwas, das mir ausgelöst zunächst :-) bis

Wenn es irgendein bestimmtes Problem ist in Sie laufen, schreiben, dass als eine Frage zu ...

+1

Die Verwendung eines solchen Tools ist keine Frage der Leistung, sondern kann helfen, eine Layer-basierte Architektur zu implementieren. Auch wenn diese Architektur bei der Verwendung von Python nicht üblich ist, kann sie dennoch eine gute Idee sein. – Toilal

+0

Genau, @Toilal. Deshalb haben wir Marshmallow. Ich bin überrascht, dass niemand es erwähnt hat. – code4life

3

Ja, es gibt.

ObjectMapper ist eine Klasse für die automatische Objektzuordnung. Es hilft Ihnen, Objekte auf einfache und transparente Weise zwischen Projektlayern (Datenschicht, Serviceebene, Ansicht) zu erstellen.

https://pypi.python.org/pypi/object-mapper