SqlAlchemy AttributeError: объект 'category' не имеет атрибута 'subcategories'
Я использую python (django) с sqlalchemy. Я создал эти две картины, связанные друг с другом.
def CreateDynamicSubCategories():
try:
category_subcategory = Table('category_subcategory', Base.metadata,
Column('category_id', Integer, ForeignKey('category.id')),
Column('subcategory_id', Integer, ForeignKey('subcategory.id')),
__table_args__ = {'extend_existing': True}
)
except Exception as e:
GetErrorDetails(e)
class Category(Base):
__table_args__ = {'extend_existing': True}
__tablename__ = 'category'
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
subcategories = relationship("Subcategory", secondary=category_subcategory, back_populates="categories")
products = relationship("Product", back_populates="category")
class Subcategory(Base):
__table_args__ = {'extend_existing': True}
__tablename__ = 'subcategory'
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
categories = relationship("Category", secondary=category_subcategory, back_populates="subcategories")
products = relationship("Product", back_populates="subcategory")
Проблема в том, что я хотел добавить новую таблицу со следующими кодами:
Session = sessionmaker(bind=engine)
session = Session()
# Adding category
new_category = Category(name="Electronics")
session.add(new_category)
session.commit()
new_subcategory = Subcategory(name="Smartphones")
session.add(new_subcategory)
session.commit()
new_category.subcategories.append(new_subcategory)
session.commit()
new_subcategory.categories.append(new_category)
session.commit()
Я сталкиваюсь с ошибкой следующего содержания:
new_category.subcategories.append(new_subcategory) AttributeError: 'category' object has no attribute 'subcategories'
В чем здесь проблема? Может ли кто-нибудь, кто знает, помочь?
Я продолжал получать те же ошибки даже после помощи chatgpt. Может ли кто-нибудь, кто знает эту проблему, сказать?