我无法理解显示特定视图的最佳方法
我有两个这样的模型:
// models.py
class CarDealer(model.Models):
name = model.TextField()
slug = model.SlugField()
class Car(model.Models):
name = model.TextField()
color = model.TextField()
dealer = model.ForeignKey('CarDealer', related_name'cars')
我要构建的URL是:
// url.py
url(regex=r'^(?P<car_dealer_slug>[^/]*)/(?P<car_color_one>[^/]*)/(?P<car_color_two>[^/]*)/$',
view=views.DealerCarColors.as_view(),
name='dealer_car_colors')
所以url可以是/dealer/blue/green,我想显示一个经销商列表,一个他们有蓝色车和绿色车的列表,或者一个没有车的列表。你知道吗
我希望视图显示一个包含以下内容的表:
|dealer | color 1| color 2|
---------------------------
|dealer1| car A | car Z |
| | car B | car X |
| | car C | |
---------------------------
|dealer2| | |
---------------------------
我试图理解如何使用基于类的视图来实现这一点,这些视图允许对CarDealers进行分页,但仍然能够显示相关对象的两个过滤列表。你知道吗
我知道这有几种可能,但最正确的方法是什么?也就是说,保持所有的逻辑视图.py文件,而不是使用过滤器。你知道吗
你真的应该组织你的网址,并考虑通过第一。如果用户想要访问绿色的汽车,那么他将转到
如果他想要蓝色,他会去
如果他想要绿色和蓝色的车,他会去上面的每个网址。为什么你想让他把它混在一个网址,而最后,你显示两个单独的汽车清单无论如何?视图将如下所示:
上面的代码使用DRF(我使用的是DRF中的APIView),但是只有Django视图使用类似的逻辑。你知道吗
编辑:还有,你的帖子说:
“所以url可以是/dealer/blue/green,我想显示一个经销商列表,一个他们有蓝色车和绿色车的列表,或者一个没有车的列表。你知道吗
我希望视图显示一个表:“
如果用户特别访问了URL/dealer/color(因为这意味着他想查看某个特定经销商的汽车),那么就不应该显示dealer2。你知道吗
编辑:如果需要多个汽车对象而不是CarDealer对象,可以尝试:
相关问题 更多 >
编程相关推荐