folgender Code (Minimalbeispiel)
Code: Alles auswählen
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, sessionmaker
engine = create_engine('sqlite:///microphones.db', echo=True)
Base = declarative_base()
class Manufacturer(Base):
__tablename__ = 'manufacturer'
id = Column(Integer, primary_key=True)
name = Column(String)
microphones = relationship('Microphone', backref='manufacturer')
def __init__(self, name):
self.name = name
class Microphone(Base):
__tablename__ = 'microphone'
id = Column(Integer, primary_key=True)
name = Column(String)
comment = Column(String)
manufacturer_id = Column(Integer, ForeignKey('manufacturer.id'))
def __init__(self, name, comment=''):
self.name = name
self.comment = comment
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
manufacturer_test = Manufacturer('Neumann')
manufacturer_test.microphones.extend(Microphone('KM 1')) # <------- FEHLER
session.add(manufacturer_test)
session.commit()
Code: Alles auswählen
TypeError: 'Microphone' object is not iterable