При желании ссылка на одну таблицу из нескольких других таблиц - PullRequest
0 голосов
/ 14 февраля 2019

Я абсолютный новичок в Flask и SQLAlchemy, и я застрял в том, что должно быть довольно простой проблемой.

Мое приложение содержит следующие две таблицы:

class Item(db.Model):
    id = db.Column(UUIDType(), primary_key=True)
    # more columns

class Person(db.Model)
    id = db.Column(UUIDType(), primary_key=True)
    # more columns

Ненужные столбцы были удалены для краткости.Мне необходимо добавить третий тип таблицы, Description, который имеет ряд свойств.Item и Person могут опционально иметь описания.

Вот что я сделал:

class Description(db.Model):
    id = db.Column(UUIDType(), primary_key=True)
    text = db.Column(db.BLOB, nullable=False)
    # some other properties

class Item(db.Model):
    id = db.Column(UUIDType(), primary_key=True)
    description_id = db.Column(UUIDType(), db.ForeignKey('tags.id'), nullable=True)
    description = db.relationship('Description')

class Person(db.Model)
    id = db.Column(UUIDType(), primary_key=True)
    description_id = db.Column(UUIDType(), db.ForeignKey('tags.id'), nullable=True)
    description = db.relationship('Description')

Я не уверен, что этоправильный способ решения проблемы, в частности, поскольку столбец description_id имеет значение NULL, а отношение description - нет.

Это правильно?И если так (сомнительно), есть ли лучший способ решить проблему?

...