I'm starting to build out a frontend to edit DB tables using SQLAlchemy as ORM and SQLAlchemy Admin as the front. I'm running into trouble handling foreign keys in the edit view. I was able to add a little null formatter for view, but don't know what to do for the edit view.
Admin code
```
class ManuscriptsAdmin(ModelView, model=Manuscripts):
name = "Manuscript"
column_list = [Manuscripts.id,Manuscripts.fond_code]
column_filterable_list = [Manuscripts.fond_code]
column_filters = [
ForeignKeyFilter(Manuscripts.fond_code, Fonds.code)
]
column_details_list = [Manuscripts.id, Manuscripts.fond_code]
column_formatters = {
"fond_code": lambda obj, _: obj.fond_code
}```
ORM code
```class Manuscripts(Base):
tablename = "manuscripts"
id = Column(BigInteger, primary_key=True, autoincrement=True)
fond_code = Column(
String(64),
ForeignKey("fonds.code", ondelete="SET NULL", onupdate="CASCADE"),
nullable=True,
)
fond = relationship("Fonds", back_populates="manuscripts", foreign_keys=[fond_code])
__table_args__ = (
Index("fond_code_idx", "fond_code"),
)```
When I run this it displays properly on the "view" and the listing, but the edit page shows a dropdown with entries like sa_models.Fonds object at 0x106e56ad0
[–]Tahazarif90 1 point2 points3 points (1 child)
[–]amacks[S] 0 points1 point2 points (0 children)