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. Может ли кто-нибудь, кто знает эту проблему, сказать?

Вернуться на верх