我有案例需要统计并显示没有博客的用户。
这是我的views.py
class Blog(models.Model):
desc = models.TextField(blank=True, null=True)
user = models.ForeignKey(Employee, null=True, on_delete=models.CASCADE, related_name='blogs')
@property
def DOESN_HAVE_BLOG(self):
blog = Self.Blog.all().values_list('user', flat=True)
value = Self.User.exclude(id__in=blog)
return value
此处mytemplate.html
{{ DOESN_HAVE_BLOG.count }}
但它不起作用
答案 0 :(得分:1)
这不是您作为模型属性所做的事情。属性与Blog的实际实例有关,但您正在寻找具有 no 实例的Employees。
相反,您应该在视图中单独执行查询 - 这是get_context_data
的一个好地方。
class MyView(ListView):
...
def get_context_data(self, *args, **kwargs):
data = super().get_context_data(*args, **kwargs)
data['DOESN_HAVE_BLOG'] = Employee.objects.filter(blog=None)
return data