设置
我有两张桌子:
人
姓名 |
---|
蒂姆 |
汤姆 |
谭 |
宠物 | 物种| 颜色 | |---------|--------| | 猫 | 黑色 | | 狗 | 棕色 |
还有一个连接它们的多对多:
人对宠物
人名 | 宠物种类 |
---|---|
蒂姆 | 猫 |
蒂姆 | 狗 |
汤姆 | 猫 |
期望的结果
使用 Django,我想注释 Person 以便我得到这个表:
人名 | 结果 |
---|---|
蒂姆 | <a>猫(黑色)</a><a>狗(棕色)</a> |
汤姆 | <a>猫(黑色)</a> |
谭 |
这可能吗?
我只有这个:
from django.contrib.postgres.aggregates import StringAgg
Person.objects.annotate(
result=StringAgg('pets', delimiter=',')
)
这使:
人名 | 结果 |
---|---|
蒂姆 | 猫狗 |
汤姆 | 猫 |
谭 |
谁能破解这个坚果?