是否可以为id
使用不同的参考字段(ReferenceInput
以外)?例如,我的资源之一有一个language_code
字段,我想从languages
资源中填充。但是,我不想使用id
的{{1}}字段,我想使用languages
字段。我设法通过使用以下命令使其工作:
code
唯一的问题是,从选择输入中选择一种语言后,<ReferenceInput label="Language code" source="language_code" reference="languages">
<SelectInput optionText="name" optionValue="code" />
</ReferenceInput>
尝试使用ReferenceInput
字段而不是code
字段来获取资源,返回404。
答案 0 :(得分:1)
作为对languages
的引用存储在资源中的值必须是其标识符。确实,如果您在资源的显示视图中添加ReferenceField
,那么如何获取没有ID的语言?
您在这里有两个选择:
languages/en
路由language_id
和language_code
,并创建自定义ReferenceInput
,自定义page = requests.get("http://www.ratemyprofessors.com/ShowRatings.jsp?tid=" + str(url_id))
soup = BeautifulSoup(page.content, 'html.parser')
raw_quality = soup.find_all(class_= 'breakdown-container quality')
print(raw_quality)
将在选择后返回两个值答案 1 :(得分:0)
我们知道为
<ReferenceInput>
使用“ id”字段的根本原因吗?
请注意,here's an official explanation from react-admin。
IMO,如果我们从react-admin
捕获了那一点,那么我们可以(尝试)使用任何其他字段,也许是!
在您的情况下,获取数据,并将渲染向下委托到<SelectInput>
,并将可能的选择作为选择属性传递给该对象。由于您可以选择“语言”,因此效果很好。
您是否知道
optionValue="id"
是默认设置?
两种可能的解决方案:
删除optionValue="code"
您能找到一种将"code"
映射到"id"
的方法吗?
在这种情况下,请记住<SelectInput>
是choices
的{{1}}道具,
<ReferenceInput>