You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Directus新手求助:如何展示Application与当前用户的ApplicationMark

实现Directus中展示Application与当前用户评分的方案

不需要创建自定义布局或视图,用Directus内置功能就能搞定,具体步骤如下:

1. 确认关联关系配置

先确保你的模型关联逻辑正确:

  • ApplicationMark中的关联Application字段,设置为多对一关联(一个打分对应一个Application,一个Application可被多个用户打分)
  • ApplicationMark中的user字段,设置为多对一关联到Directus内置的users集合

2. 方案一:在Application详情页展示当前用户评分

适合查看单个Application详情时同步查看自己的评分:

  • 进入Directus后台,打开Application模型的配置页面
  • 切换到「布局」标签页,选择「详情」布局
  • 点击「添加字段」,选择ApplicationMark的反向关联字段(默认会生成类似application_marks的字段名)
  • 点击该字段的「设置」图标,在「筛选」选项中添加条件:user 等于 $CURRENT_USER(Directus内置变量,自动匹配当前登录用户)
  • 调整字段显示设置,只保留「评分」字段的展示,隐藏其他无关内容
  • 保存布局后,打开任意Application的详情页,就能看到当前用户给它打的评分(未打分则显示为空)

3. 方案二:在Application列表页直接显示当前用户评分

适合批量查看所有Application及自己的评分:

  • 打开Application模型的配置页面,切换到「字段」标签页
  • 点击「创建字段」,选择「计算字段」,类型设为「数字」
  • 在「计算值」中输入SQL查询语句(根据你的实际字段名调整):
    (SELECT rating FROM application_mark WHERE application_mark.application_id = application.id AND application_mark.user_id = $CURRENT_USER LIMIT 1)
    
    注:rating是ApplicationMark的评分字段名,application_id是关联Application的字段名,user_id是关联用户的字段名
  • 保存字段后,切换到Application的「列表」布局,把这个新计算字段添加到显示列中
  • 现在列表里就能直接看到每个Application对应的当前用户评分(未打分显示为空)

4. 额外优化:快速打分功能

如果要让用户能直接在Application页面完成打分,可在详情页添加内嵌表单:

  • 在Application的详情布局中,添加一个「内嵌表单」组件,选择ApplicationMark集合
  • 设置表单默认值:application关联当前打开的Application,user默认值设为$CURRENT_USER
  • 表单只保留「评分」字段,用户打开详情页就能直接提交评分,无需手动选择关联对象

内容的提问来源于stack exchange,提问作者vogdb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:17:19