例如,我在 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.ForeignKey(User, on_delete=models.CASCADE)
和 views.py 中(将相应的 URL 添加到 urls.py):
class DevelopmentFilterView(generic.ListView):
model = Development
如何告诉我的模板只输出某个客户端的数据库条目列表?
您需要
在视图类中定义一个返回开发模型的 QuerySet 的 get_queryset
函数。这样的事情应该有效:
def get_queryset(self):
return Development.objects.filter(client__id=1)
您必须使用 ListView 类中get_queryset的方法,如下所示:
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