---
url: "https://vueda.dev/v3/reference/api/py/vueda.vdq.permissions/QueueItemObjectPermission.md"
title: "QueueItemObjectPermission"
---

# QueueItemObjectPermission

## Overview

Extends DjangoObjectPermissions to support state permissions and CRUD naming conventions.
It sets the 'view_action' in permission checks to determine required permissions for views
and objects based on the current action in the view.

## `has_object_permission` {#has_object_permission}

Records the current view action then delegates to DjangoObjectPermissions.

### Signature {#has_object_permission-signature}

`has_object_permission(self, request, view, obj)`

#### Parameters {#has_object_permission-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="has_object_permission-param-request">request</span> |  | yes |  |  |
| <span id="has_object_permission-param-view">view</span> |  | yes |  |  |
| <span id="has_object_permission-param-obj">obj</span> |  | yes |  |  |

### Source {#has_object_permission-source}

`server/vueda/vdq/permissions.py:9`

## `has_permission` {#has_permission}

Defer a model-level denial only when a matching state grant can be decided later.

Object-scoped actions defer to ``has_object_permission``. Framework list actions defer
to their workflow-aware queryset filter. Collection writes, including create, retain the
model-level result because no existing object supplies a workflow state.

### Signature {#has_permission-signature}

`has_permission(self, request, view)`

#### Parameters {#has_permission-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="has_permission-param-request">request</span> |  | yes |  |  |
| <span id="has_permission-param-view">view</span> |  | yes |  |  |

### Source {#has_permission-source}

`server/vueda/vdq/permissions.py:15`

## Source

`server/vueda/vdq/permissions.py:8`
