如何使用名称(而不是ID)在views.py中获取对象。
def StockSummaryPage(request, title):
stocks_data = get_object_or_404(Stock, string=title)
return render(request, 'stocks/stock_summary_page.html', {'stocks_data':stocks_data})
这是我的views.py和
stocks_data = get_object_or_404(股票,字符串=标题)
我们使用pk = stock_id,但我想按标题进行操作。所以救救我
答案 0 :(得分:1)
您可以通过任何模型字段获取对象。
假设您的股票title
中有一个名为model
的字段,并假定您将标题传递给视图。
stocks_data = get_object_or_404(Stock, title=title)
请注意,如果通过非唯一字段获取对象,则会收到错误消息:get() returned more than one Model -- it returned 54!
在这种情况下,请使用get_list_or_404(Stock, title=title)
,它将返回.filter()的结果。
Django Shortcut Functions: get_list_or_404()
答案 1 :(得分:1)
在这里,我们将该字段假定为cls1.varA
。
第一种方法:使用0
title
第二种方法:使用filter()
def StockSummaryPage(request, title):
stocks_data = Stock.objects.filter(title=title)
return render(request, 'stocks/stock_summary_page.html', {'stocks_data':stocks_data})
答案 2 :(得分:0)
这也可以用其他方式解决。我就是这样找到的
def StockSummaryPage(request, title):
context = {}
# add the dictionary during initialization
context["data"] = Stock.objects.get(title=title)
return render(request, "stocks/stock_summary_page.html", context)
然后您可以使用
获取html中的数据数据
类似关键字
data.title
data.name
等