Elixir: ManyToMany Relation auf selbe Tabelle (Stückliste)

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hallo, ich schon wieder. Diesmal knabbere ich seit einer Weile an einem Problem, auf das ich noch keine Antwort gefunden habe.

Ich habe eine Tabelle für Artikel und eine Tabelle für eine Stückliste. Letztere besteht im Wesentlichen aus zwei Spalten, die beide auf die Artikel ID zeigen. Sofern ich die Tabelle für die Relation automatisch erstellen lasse bekomme ich das auch noch auf die Reihe. Aber ich benötige ja auch noch mindestens die Menge pro Teil. Also muss ich diese Tabelle manuell erstellen und irgendwie verknüpfen. Aber daran bin ich bisher gescheitert.

Bis hier hin hab ich es

Code: Alles auswählen

class artikel(Entity):
    using_options(shortnames=True)
    
    name = Field(String(20))
    bom  = ManyToMany('artikel', table='bom')
    
class bom(Entity):
    using_options(shortnames=True)
    artikel_id1 = Field(Integer, primary_key=True)
    artikel_id2 = Field(Integer, primary_key=True)
    menge       = Field(Numeric)
Aber seit dem stockt es. Ich komme seit Stunden keinen Schritt weiter. Oder bin ich komplett auf dem Holzweg? Kann mir hier jemand weiterhelfen?
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hm, hat niemand eine Idee? Bisher beiße ich mir daran die Zähne aus
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich stehe im Moment vor dem gleichen Problem, allerdings benutze ich reines SQLAlchemy, allerdings in der deklarativen Syntax. Die Patterns aus der Doku beziehen sich da leider immer nur auf den imho umständlicheren manuellen mapping Mechanismus; speziell das Association-Object Pattern.

Bisher habe ich auch nichts brauchbares im Netz zu dieser Thematik gefunden, die das ganze einmal mit der deklarativen Syntax anschaulich darstellt.

Wenn ich da nichts finden sollte, muss ich meinen Code eben umstellen.

Da Elixir im Grunde ja nichts anderes ist als ein deklarativer Layer sollte die Problemlösung ja auch ähnlich aussehen. Evtl. finden wir da ja doch noch etwas :-)

(Oder eine der SQLAlchemy Gurus hier kann dazu etwas sagen ;-) )
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ich bin auch noch nicht weiter. Ich schwenke allerdings gerade um auf PyQt und will da auch QSql nutzen, weil ich später auch die TableViews usw nutzen will. Da ist sowieso mehr "Handarbeit" nötig

Werd trotzdem ein Auge bei SQLAlchemy/Elixir haben
Antworten