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

Django中Music关联Profile模型后如何正确获取对应用户生成跳转链接

问题解决方法
  • 核心错误原因:你当前在模板中传入的x.pk是Music实例的主键,而profil_user路由要求传入的是Profile模型的主键,只需要通过Music实例的外键字段owner取关联的Profile主键即可。

1. 修复模板代码

替换模板中url的传参,同时补全你原有a标签遗漏的闭合引号,修改后代码如下:

{% for x in m %}
  {{x}}
  <a href="{% url 'profil_user' x.owner.pk %}"> CLICK </a>
{% endfor %}

2. 可选性能优化

你原有视图层的Music.objects.all()会在每次遍历取owner属性时触发额外的数据库查询,数据量较大时性能较差,可以改为用select_related提前预加载关联的Profile数据:

m = Music.objects.select_related('owner').all()

如果你的需求是仅展示某个指定用户的音乐数据,只需要在查询时加过滤条件即可,示例如下(假设指定用户的主键为target_user_pk):

m = Music.objects.filter(owner_id=target_user_pk).select_related('owner').all()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:45:00