Datajoint autopopulate make function error: DataJointError: A relation must have primary dependencies for auto-populate to work
Datajoint autopopulate make function error: DataJointError: A relation must have primary dependencies for auto-populate to work
我收到以下错误:
“DataJointError:关系必须具有主要依赖关系才能自动填充工作”
我认为这是一个非常基本的开始,首先定义手册 table 然后是导入的手册。
在这种情况下,我们有一个文件夹中的 matlab 文件名手册 table。然后,我们希望使用这些文件中的数据自动填充导入的 table。所以这些 table 之间的依赖关系应该是一对一匹配的。但是,当我们尝试如下填充时出现以下错误:DataJointError:关系必须具有主要依赖关系才能自动填充以尝试实现 make 函数。
上游会话 table 有主键“文件名”,我们希望导入的 table 开始定义为:
@schema
class Trials(dj.Imported):
definition = """
trial : int
-> Session
---
type = null : int
outcome = null : int
"""
def make(self, key): # key is the primary key of one of the entries in the table `Scan`
name = ((Session & key).fetch1()['filename'])
print(name)
Trials.populate()
我已经尝试关闭 jupyter notebook 并重新打开、重新启动内核等。在此先感谢您的帮助!
这已在 https://github.com/datajoint/datajoint-python/issues/902 中报告,将很快得到解决。这是因为在填充之前依赖项没有加载到内存中。中间修复是在调用 populate
之前绘制模式图——这将加载依赖项并使 populate
正常工作。
我收到以下错误:
“DataJointError:关系必须具有主要依赖关系才能自动填充工作” 我认为这是一个非常基本的开始,首先定义手册 table 然后是导入的手册。
在这种情况下,我们有一个文件夹中的 matlab 文件名手册 table。然后,我们希望使用这些文件中的数据自动填充导入的 table。所以这些 table 之间的依赖关系应该是一对一匹配的。但是,当我们尝试如下填充时出现以下错误:DataJointError:关系必须具有主要依赖关系才能自动填充以尝试实现 make 函数。
上游会话 table 有主键“文件名”,我们希望导入的 table 开始定义为:
@schema
class Trials(dj.Imported):
definition = """
trial : int
-> Session
---
type = null : int
outcome = null : int
"""
def make(self, key): # key is the primary key of one of the entries in the table `Scan`
name = ((Session & key).fetch1()['filename'])
print(name)
Trials.populate()
我已经尝试关闭 jupyter notebook 并重新打开、重新启动内核等。在此先感谢您的帮助!
这已在 https://github.com/datajoint/datajoint-python/issues/902 中报告,将很快得到解决。这是因为在填充之前依赖项没有加载到内存中。中间修复是在调用 populate
之前绘制模式图——这将加载依赖项并使 populate
正常工作。