Пожалуйста, проверьте это еще раз. Я отредактировал свой оригинальный пост.

я есть список доменов и список поддоменов. Например:

домен А имеет субдомены a1, a2, a3.
домен B имеет поддомен b1, b2, b3.
домен C не имеет поддоменов

Мне нужно создать структуру базы данных, чтобы я мог заказать ее так:

A
a1
a2
a3
B
b1
C

И мне нужно четко видеть, какой из них является доменом или поддоменом какого домена.

Я попытался поместить домены в одну таблицу и поддоменов в другую таблицу с ForeignKey к домену.

class Domain(Base):
    __tablename__ = "domains"
    domain_id = Column(Integer(), primary_key=True)
    name = Column(String(), unique=True)


class Subdomain(Base):
    __tablename__ = "subdomains"
    subdomain_id = Column(Integer(), primary_key=True)
    name = Column(String(), unique=True)
    domain_id = Column(Integer, ForeignKey('domains.domain_id'))

Я использую домены и поддомены из обеих таблиц для создания третьей таблицы:

class Title(Base):
    __tablename__ = "titles"
    title_id = Column(Integer(), primary_key=True)
    domain_id = Column(Integer, ForeignKey('domains.domain_id'))
    subdomain_id = Column(Integer, ForeignKey('subdomains.subdomain_id')) -- NULL if that is a Domain
    title = Column(String())
    status = Column(Integer())

Ответы на вопрос(1)

Ваш ответ на вопрос