Base

Base: Bones

Artikel verfasst von: Author, die letzte Änderung war am 20.01.2010 @ 00:00 .

Basistypen

StringBone

NumericBone

DateBone

SelectOneBone

SelectMultiBone



File Bone



Relationales Bone
Ein relationales Bone ist ein Eintrag in der Datenbank, der auf einen anderen Eintrag Verweist.
Möchte man z.B. den Author eines Artikels zu einem Artikel zuordnen, so kann man natürlich ein StringBone erstellen, in den man den Namen einträgt, oder man löst es eleganter, und ordnet dem Artikel einen Benutzer zu, das würde dann mit einem Relationalbone geschehen.

Einfache Zuordnung
Soll genau nur einen Eintrag angebenen werden, auf den gezeigt werden soll, so wird in der Datenbank eine Spalte erstellt, in der die ID des Eintrags hinterlegt wird.

Beispiel:

gallery = relationalBone.relationalBone(descr="Galerie", visible=False, required=True, type="gallery", datafields=["name"])

- type gibt das Modul an, aus denen der auszuwählende Eintrag stammen soll.
- datafields gibt an, welche variablen zusätzlich aus der Datenbank geholt werden. ACHTUNG: hierbei ist zu beachten, dass um rekursionen zu vermeiden die Daten ungeparst zurückgegeben werden, wenn dieses Bone z.B. in einem ViewSkel ausgegeben wird. Das heißt, dass wenn man in datafields in > datafields=["name","author"] < ändern würde, so stünde später im Bone nur die Author ID drin, nicht aber ein UserSkel mit name, vorname etc. um diese Daten dann zu bekommen müsste man eine weitere Abfrage schicken.

Mehrfache Zuordnung
Die Mehrfachzuordnungen speichern ihre Daten in der "Parings" tabelle. Sie brauchen also keine weitere Spalte in der Datenbank.


Beispiel:

favloc = relationalBone.relationalBone (type="user", descr="Favorieten",required=False, params={"searchable": True, "frontend_list_visible": False}, multiple=relationalBone.MULTIPLE_MANY,datafields=["name"] )

additionalPages = pageBone( descr="zus&auml;tzliche Seiten", params={"searchable": False,  "frontend_list_visible": False}, multiple=relationalBone.MULTIPLE_SOME )

- multiple=relationalBone.MULTIPLE_SOME
Hiermit wird eingestellt, dass es sich einerseits um eine Mehrfachzuordnung handelt, und dass es aber nicht sehr viele Zuordnungen geben soll. Wird dieses Bone geparst, so werden alle Zuordnungen aufgelöst.

- multiple=relationalBone.MULTIPLE_MANY
Hier hingegen wird von sehr vielen Zuordnungen ausgegangen, sodass das Skeleton nich alle zuordnungen enthalten wird. Mehr dazu auch im Extra Artikel Doku -> Base -> Paringsmodul.

Überschriebene Bones

Kommentieren

Hinzufügen

Dein Name*
Deine E-Mail*
Text*
Spamschutz*



Alle mit einem (*) gekennzeichneten Felder sind Pflichfelder.