我的Problem
中定义了Solution
和models.py
模型。 Solution
具有Problem
模型的外键。也就是说,问题可以有很多解决方案。
我想创建像www.example.com/problem/problem_id/solution/solution_number/
这样的网址,其中problem_id
描述问题模型的主键,solution_number
描述针对特定问题发布解决方案的顺序。换句话说,如果解决方案是针对给定问题的第一个解决方案,则其顺序应为1,对同一问题的第二解决方案将获得顺序2.
这样我就可以访问特定问题的解决方案,例如Solution.objects.get(problem=problem, order=order)
答案 0 :(得分:0)
易
root urls.py
urlpatterns = [
url(r'^problem/', include('your.apps.problem.urls')
]
problem.urls.py
from .views import solution
urlpatterns = [
url(r'^(?P<prob_id>\d+)/solution/(?P<sol_id>\d+)/$', solution)
]
views.py
def solution(request, prob_id, sol_id):
sol = Solution.objects.get(problem_id=prob_id, pk=sol_id)
不要在Foreignkey字段中按对象查询,最好使用_id
,在这种情况下不涉及Problem
表。
你不需要order
。 ID总是按顺序排列。