这是答案here的后续问题。在App Maker中,如果有一个名为Contacts的模型,其中一个名为Owner的关系字段(引用联系人模型中的另一个联系人记录),窗口小部件可以访问多少级别的深度?
你能否拥有@ datasource.item.Contact.Owner.Owner.Owner.Owner等,以便能够向联系人及其所有者展示多个级别?
答案 0 :(得分:0)
看起来浏览器方面没有任何限制。我尝试在Chrome中创建重度嵌套的对象,它允许我添加300K +嵌套级别并为该单个对象获取5Gb +的内存,然后UI被冻结并且tab死亡。
考虑到App Maker的对象比我的测试对象{ x: { x: { x: { ... } } } }
更复杂,我们可以超级保守,并且可以说浏览器可以存活1K +嵌套级别。因此,如果您以 async 方式加载关系(由item._loadRelationName()
显式加载或隐式使用绑定),您会发现浏览器端不应受到限制)。
如果您想使用prefetches一次加载所有这些嵌套记录,那么我们需要找出MySQL允许的连接数。根据{{3}},它大概在60左右。this discussion是一个单独的故事,也许如果我有一段时间我会深入研究它并试图找到它的局限性。