class citydetailview(generic.DetailView):
#Generic class-based list view for a list of cities.
model = City
def get_city_value(request, pk):
if pk==1:
hyd=Type_city1.objects.all()
elif pk==2:
hyd=Type_city2.objects.all()
elif pk==3:
hyd=Type_city3.objects.all()
return (request,{'hyd':hyd})
path('city/<int:pk>', views.citydetailview.as_view(), name='city_ads_detail'),
而不是为什么不使用列表视图:
class CityDetailView(generic.ListView):
model = City
def get_queryset(self):
city_type = self.kwargs['city_type']
if city_type == 1:
return Type_city1.objects.all()
elif city_type == 2:
return Type_city2.objects.all()
elif city_type == 3:
return Type_city3.objects.all()
return super().get_queryset()
# urls
path('city/<int:city_type>/', views.CityDetailView.as_view(), name='city_ads_detail'),
最后,最好也共享您的模型。因为我认为您的模型结构可能不正确。您可以将它们存储在单个模型中,然后根据字段Type_city
进行过滤,而不是使用不同的city_type
模型。