Pegase745 / sqlalchemy-datatables

SQLAlchemy integration of jQuery DataTables >= 1.10.x (Pyramid and Flask examples)
MIT License
159 stars 67 forks source link

Querying Many-To-Many relationships #65

Closed 1tm closed 7 years ago

1tm commented 7 years ago

Hello!

Could you please help me with many-to-many related tables?

Relation set in models:

class Asset(db.Model):
...
users = db.relationship('User', secondary=ext_vs_users, backref='extensions', lazy='dynamic')

Query given to datatable:

data_table = DataTables(request.args, Asset, query, columns)

Columns set:

columns.append(ColumnDT('number'))
columns.append(ColumnDT('location'))
columns.append(ColumnDT('display_name'))
columns.append(ColumnDT('users.uid'))

There can be both single and multiple users per asset. But for every row I get "None" in users.uid column. Is it possible to somehow retreive data in this case?

P.S. Thanks for a great package! :)

tdamsma commented 7 years ago

Could you please try and see if the recent updates would solve your issue? It should look something like this:


columns = [
    ColumnDT(Asset.number),
    ColumnDT(Asset.location),
    ColumnDT(Asset.display_name),
    ColumnDT(User.uid)]

query=session.query().select_from(Asset).join(User)
tdamsma commented 7 years ago

See also https://github.com/Pegase745/sqlalchemy-datatables/issues/83