的名單我已經設置了,看起來大致是這樣的一個SQLAlchemy的數據庫:SQLAlchemy的查詢中使用的元素
class ChangelogEntry(db.Model):
id = db.Column(db.Integer, primary_key=True)
apps = db.relationship('App', secondary=app_changelogEntry)
appGroups = db.relationship('AppGroup', secondary=appGroup_changelogEntry)
class App(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True, index=True)
appGroups = db.relationship('AppGroup', secondary=app_appGroup)
class AppGroup(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True, index=True)
apps = db.relationship('App', secondary=app_appGroup)
UPDATE:
app_changelogEntry = db.Table('App_ChangelogEntry',
db.Column('app_id', db.Integer, db.ForeignKey('app.id')),
db.Column('changelog_id', db.Integer, db.ForeignKey('changelog_entry.id'))
)
appGroup_changelogEntry = db.Table('AppGroup_ChangelogEntry',
db.Column('appGroup_id', db.Integer, db.ForeignKey('app_group.id')),
db.Column('changelogEntry_id', db.Integer, db.ForeignKey('changelog_entry.id'))
)
app_appGroup = db.Table('App_AppGroup',
db.Column('app_id', db.Integer, db.ForeignKey('app.id')),
db.Column('appGroup_id', db.Integer, db.ForeignKey('app_group.id'))
)
應用程序可以是幾個AppGroups並且用戶可以創建的一部分更改日誌條目並可以選擇此ChangelogEntry所屬的App/Apps和/或AppGroups。
它看起來像這樣:
好吧。我只想讓所有屬於例如App3(App3是AppGroups Group1和Group2的一部分),在這種情況下是Group1和Group2。
我希望你能幫助我!
請包括關聯表以及。 –
我是否正確理解你的意圖:你希望查詢與給定應用程序/應用程序有直接關係的更改日誌條目,以及與包含給定應用程序/應用程序的組有關係的更改日誌條目? –
我現在包含關聯表。我希望現在更容易理解。但你是對的,那就是我想要的。 –