class Node(models.Model): user = models.ForeignKey(User) is_active = models.BooleanField(default=False) api_token = models.CharField(max_length=256, blank=True) objects = UserNodes()
И менеджер
class UserNodes(models.Manager): def detail(self, request, pk): d = self.filter(user=request.user, pk=pk, is_active=True) if not d.api_token: messages.warning( request, 'Для установки сервера следует указать API token') return d
И вьюха
@method_decorator(login_required(redirect_field_name=None), name='dispatch') class NodeDetail(DetailView): def get_queryset(self): pk = self.kwargs.get(self.pk_url_kwarg) return Node.objects.detail(self.request, pk)
Вот так выпадает ошибка 'QuerySet' object has no attribute ‘token’. Как бы мне проверить что поле не пустое?? Может мне не нужно вообще в другом месте делать проверку?