I';我试图在Django模板上输出一个过滤列表
例如,我在models.py中有:I';我试图在Django模板上输出一个过滤列表,django,Django,例如,我在models.py中有: class Development(models.Model): id = models.AutoField(primary_key=True) client = models.ForeignKey(InsName, on_delete=models.SET_NULL, null=True, blank=True) platform = models.ManyToManyField(Platform) user = models
class Development(models.Model):
id = models.AutoField(primary_key=True)
client = models.ForeignKey(InsName, on_delete=models.SET_NULL, null=True, blank=True)
platform = models.ManyToManyField(Platform)
user = models.ForeignKey(User, on_delete=models.CASCADE)
在views.py中(将相应的url添加到url.py中):
如何告诉我的模板只输出特定客户机的数据库条目列表?您需要在视图类中定义一个
get\u queryset
函数,该函数返回开发模型的queryset。像这样的方法应该会奏效:
def get_queryset(self):
return Development.objects.filter(client__id=1)
必须使用get_queryset from ListView类的方法,如下所示:
class DevelopmentFilterView(generic.ListView):
model = Development
queryset = Development.objects.all()
def get_queryset(self):
qs = super().get_queryset()
qs = qs.filter(client=client)
return qs
class DevelopmentFilterView(generic.ListView):
model = Development
queryset = Development.objects.all()
def get_queryset(self):
qs = super().get_queryset()
qs = qs.filter(client=client)
return qs