Specifically here
https://github.com/web2py/pydal/blob/8bed9b7537b4b3f843ecc57d960a719554741d97/pydal/objects.py#L113C1-L120C1
The need to find out the id field of the referenced table forces you to define the table which causes migration problems and problems with self references.