簡體   English   中英

在Django中相對於父模型訂購子模型

[英]order a child model with respect to parent model in Django

我在models.py定義了ProblemSolution模型。 Solution具有Problem模型的外鍵。 也就是說,一個問題可以有很多解決方案。

我要創建類似www.example.com/problem/problem_id/solution/solution_number/ url,其中problem_id描述問題模型的主鍵, solution_number描述針對特定問題發布solution_number的順序。 換句話說,如果解決方案是給定問題的第一個解決方案,則其階數應為1,而同一問題的第二個解決方案的階數應為2。

這將允許我訪問解決特定問題的解決方案,例如Solution.objects.get(problem=problem, order=order)

簡單

根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始終按升序排列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM