2016-02-22 20 views
0

無法訪問我模型中的數據,出現下一個錯誤:AttributeError:通用細節視圖Myview必須使用對象pk或slug來調用。AttributeError:通用細節視圖必須使用對象pk或slug來調用

我的模型:

class product(models.Model): 
    title = models.CharField(max_length = 1000) 
    description = models.TextField(max_length = 5000) 
    price = models.IntegerField() 

我的看法:

class Myview(DetailView): 
    queryset = product.objects.all() 
    template_name = 'templates/products.html' 

我的網址:

urlpatterns = [ 
    url(r'^products/', Myview.as_view(), name='products'), 
    ] 

如果有任何其他合法的方式來獲得我的模型,我可以改變數據我的意見和網址正確的方式。

回答

1

通用DetailView用於獲取關於模型的單個實例的信息。

由於您正在提取所有product s(在行product.objects.all()),因此您似乎要顯示產品列表。在這種情況下,您必須使用ListView

class MyView(ListView): 
    model = Product 
    template_name = 'templates/products.html' 
0

裏面的網址,你必須提供的PK作爲參數,以獲得元素

url(r'^products/(?P<pk>\d+)/$', Myview.as_view(), name='products'),

相關問題