project.task: campos, relaciones y API
El modelo project.task («Tarea») es un modelo persistente declarado por el módulo Proyecto y ampliado por 8 módulos más. Expone 144 campos, 102 de ellos declarados directamente en el modelo; 18 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 19.
Ficha de identidad
- Nombre técnico
project.task- Etiqueta
- Tarea
- Tipo
- Persistente (models.Model)
- Tabla SQL
project_task- Módulo de origen
- Proyecto (
project) - Ampliado por
- hr_timesheet, project_hr_skills, sale_project, project_sms, project_timesheet_holidays, project_todo, sale_timesheet, website_project
- Orden por defecto (_order)
priority desc, sequence, date_deadline asc, id desc
Campos del modelo
102 campos propios, 39 heredados de mixins y 3 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
144 de 144 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| active | Activo | boolean | |
| allocated_hours | Tiempo asignado | float | |
| allow_billable | Allow Billable | boolean | related: añadido por Ventas - Proyecto ( |
| allow_milestones | Allow Milestones | boolean | related: |
| allow_recurring_tasks | Allow Recurring Tasks | boolean | related: |
| allow_task_dependencies | Allow Task Dependencies | boolean | related: |
| allow_timesheets | Allow timesheets | boolean | solo lecturacalculado añadido por Registros de tareas ( |
| analytic_account_active | Active Analytic Account | boolean | related: añadido por Registros de tareas ( |
| attachment_ids | Archivos adjuntos Archivos adjuntos que no provienen de mensajes | one2many | calculado |
| child_ids | Subtareas | one2many | inverso: |
| closed_depend_on_count | Cerrado según las tareas | integer | calculado |
| closed_subtask_count | Closed Sub-tasks Count | integer | calculado |
| color | Índice de Colores | integer | |
| company_id | Compañía | many2one | calculado, almacenado |
| create_date | Creado el | datetime | solo lectura |
| current_user_same_company_partner | Current User Same Company Partner | boolean | calculado |
| date_assign | Fecha de asignación Fecha en la que se asignó (o se eliminó la asignación) esta tarea por última vez. Gracias a esta información podrá obtener estadísticas sobre cuánto tarda normalmente en asignar tareas. | datetime | solo lectura |
| date_deadline | Fecha límite | datetime | |
| date_end | Fecha de fin | datetime | |
| date_last_stage_update | Última actualización de la etapa Date on which the state of your task has last been modified. Based on this information you can identify tasks that are stalling and get statistics on the time it usually takes to move tasks from one stage/state to another. | datetime | solo lectura |
| depend_on_count | Dependiendo de las tareas | integer | calculado |
| depend_on_ids | Bloqueado por | many2many | |
| dependent_ids | Bloquear | many2many | |
| dependent_tasks_count | Tareas dependientes | integer | calculado |
| description | Descripción | html | |
| display_follow_button | Display Follow Button | boolean | calculado |
| display_in_project | Display In Project | boolean | calculado, almacenado |
| display_name | Nombre para mostrar Use these keywords in the title to set new tasks: 30h Allocate 30 hours to the task #tags Set tags on the task @user Assign the task to a user ! Set the task a medium priority !! Set the task a high priority !!! Set the task a urgent priority Make sure to use the right format and order e.g. Improve the configuration screen 5h #feature #v16 @Mitchell ! | char | |
| display_parent_task_button | Display Parent Task Button | boolean | calculado |
| display_sale_order_button | Mostrar pedido de venta | boolean | calculado añadido por Ventas - Proyecto ( |
| displayed_image_id | Imagen de portada | many2one | |
| effective_hours | Tiempo dedicado | float | calculado, almacenado añadido por Registros de tareas ( |
| email_cc | Email Cc Correos electrónicos que estaban marcados como CC en los correos recibidos de esta tarea y no están vinculados a un cliente existente. | char | |
| email_from | Correo electrónico de | char | |
| encode_uom_in_days | Encode Uom In Days | boolean | calculado añadido por Registros de tareas ( |
| has_late_and_unreached_milestone | Has Late And Unreached Milestone | boolean | calculado |
| has_multi_sol | Tiene varias líneas de pedido de venta | boolean | calculado añadido por Partes de horas en ventas ( |
| has_project_template | Has Project Template | boolean | related: |
| has_template_ancestor | Tiene plantilla de origen | boolean | calculado, almacenado |
| is_closed | Estado cerrado | boolean | calculado |
| is_project_map_empty | ¿El mapa del proyecto está vacío? | boolean | calculado añadido por Partes de horas en ventas ( |
| is_template | Es una plantilla | boolean | |
| is_timeoff_task | Is Time off Task | boolean | calculado añadido por Partes de horas en ausencias ( |
| last_sol_of_customer | Última línea del pedido de venta del cliente | many2one | calculado añadido por Partes de horas en ventas ( |
| leave_types_count | Número de tipos de ausencia | integer | calculado añadido por Partes de horas en ausencias ( |
| link_preview_name | Link Preview Name | char | calculado |
| milestone_id | Hito Ofrezca sus servicios automáticamente cada vez que se alcance un hito, se puede hacer vinculándolo a un elemento del pedido de venta. | many2one | calculado, almacenado |
| name | Título | char | obligatorio |
| overtime | Horas extraordinarias | float | calculado, almacenado añadido por Registros de tareas ( |
| parent_id | Tarea padre | many2one | |
| partner_company_name | Nombre de la empresa | char | related: añadido por Envío de tareas en línea ( |
| partner_id | Cliente | many2one | calculado, almacenado |
| partner_name | Nombre del cliente | char | related: añadido por Envío de tareas en línea ( |
| partner_phone | Número de contacto | char | calculado, almacenado |
| personal_stage_id | Estado de la etapa personal La etapa personal del usuario actual. | many2one | calculado |
| personal_stage_type_id | Etapa personal La etapa de la tarea personal del usuario actual. | many2one | related: |
| personal_stage_type_ids | Personal Stages | many2many | |
| portal_user_names | Portal User Names | char | calculado |
| pricing_type | Pricing Type | selection | related: añadido por Partes de horas en ventas ( |
| priority | Prioridad | selection | Valores: |
| progress | Progreso | float | calculado, almacenado añadido por Registros de tareas ( |
| project_id | Proyecto | many2one | calculado, almacenado |
| project_privacy_visibility | Visibilidad del proyecto | selection | related: |
| project_sale_order_id | Pedido de venta del proyecto | many2one | related: añadido por Ventas - Proyecto ( |
| rating_active | Estado de calificación de la etapa | boolean | related: |
| recurrence_id | Recurrencia | many2one | |
| recurring_count | Tareas en recurrencia | integer | calculado |
| recurring_task | Recurrente | boolean | |
| remaining_hours | Tiempo restante Número de horas asignadas menos el número de horas dedicadas. | float | solo lecturacalculado, almacenado añadido por Registros de tareas ( |
| remaining_hours_available | Horas restantes disponibles | boolean | related: añadido por Partes de horas en ventas ( |
| remaining_hours_percentage | Remaining Hours Percentage | float | calculado añadido por Registros de tareas ( |
| remaining_hours_so | Tiempo restante en el pedido de venta | float | calculado añadido por Partes de horas en ventas ( |
| repeat_interval | Repetir cada | integer | calculado |
| repeat_type | Hasta | selection | calculado Valores: |
| repeat_unit | Unidad de repetición | selection | calculado Valores: |
| repeat_until | Fecha de finalización | date | calculado |
| role_ids | Roles del proyecto Cuando creas un proyecto a partir de una plantilla, puedes elegir qué empleado asume cada rol. Estos empleados se añadirán a las tareas, junto con las personas que ya estén asignadas. | many2many | |
| sale_line_id | Elemento del pedido de venta Sales Order Item to which the time spent on this task will be added in order to be invoiced to your customer. By default the sales order item set on the project will be selected. In the absence of one, the last prepaid sales order item that has time remaining will be used. Remove the sales order item in order to make this task non billable. You can also change or remove the sales order item of each timesheet entry individually. | many2one | calculado, almacenado añadido por Ventas - Proyecto ( |
| sale_order_id | Pedido de venta Pedido de venta al que está vinculado la tarea. | many2one | calculado, almacenado añadido por Ventas - Proyecto ( |
| sale_order_state | Sale Order State | selection | related: añadido por Ventas - Proyecto ( |
| sequence | Secuencia | integer | |
| stage_id | Etapa | many2one | calculado, almacenado |
| stage_id_color | Stage Color | integer | related: |
| state | Estado | selection | obligatoriocalculado, almacenado Valores calculados dinámicamente |
| subtask_allocated_hours | Sub-tasks Allocated Time Suma de las horas asignadas para todas las subtareas (y sus propias subtareas) vinculadas a esta tarea. Normalmente es menor o igual que las horas asignadas a esta tarea. | float | calculado |
| subtask_completion_percentage | Subtask Completion Percentage | float | calculado |
| subtask_count | Sub-task Count | integer | calculado |
| subtask_effective_hours | Tiempo dedicado a subtareas Tiempo dedicado a subtareas (y sus subtareas) de esta tarea. | float | calculado, almacenado añadido por Registros de tareas ( |
| tag_ids | Etiquetas | many2many | |
| task_properties | Propiedades | properties | |
| task_to_invoice | A facturar | boolean | calculado añadido por Ventas - Proyecto ( |
| timesheet_ids | Partes de horas | one2many | inverso: añadido por Registros de tareas ( |
| timesheet_product_id | Producto de los partes de horas | many2one | related: añadido por Partes de horas en ventas ( |
| total_hours_spent | Tiempo total dedicado Tiempo dedicado a esta tarea y sus subtareas (y sus propias subtareas). | float | calculado, almacenado añadido por Registros de tareas ( |
| user_ids | Personas asignadas | many2many | |
| user_skill_ids | User Skill | one2many | related: añadido por Proyecto - Habilidades ( |
| website_message_ids | Website Message | one2many | |
| working_days_close | Días laborables para cerrar | float | calculado, almacenado |
| working_days_open | Días laborables para asignar | float | calculado, almacenado |
| working_hours_close | Horas laborables para cerrar | float | calculado, almacenado |
| working_hours_open | Horas laborables para asignar | float | calculado, almacenado |
| write_date | Última actualización el | datetime | solo lectura |
| access_token | Token de seguridad | char | heredado de portal.mixin |
| access_url | URL de acceso al portal URL del portal de cliente | char | calculado heredado de portal.mixin |
| access_warning | Advertencia de acceso | text | calculado heredado de portal.mixin |
| activity_calendar_event_id | Siguiente evento en el calendario de actividades. | many2one | calculado heredado de mail.activity.mixin |
| activity_date_deadline | Fecha límite de la siguiente actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| activity_exception_decoration | Decoración de Actividad de Excepción Tipo de actividad de excepción en el registro. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_exception_icon | Icono Icono para indicar una actividad de excepción. | char | calculado heredado de mail.activity.mixin |
| activity_ids | Actividades | one2many | inverso: heredado de mail.activity.mixin |
| activity_state | Estado de la actividad Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_summary | Resumen de la siguiente actividad | char | related: heredado de mail.activity.mixin |
| activity_type_icon | Icono de tipo de actividad | char | related: heredado de mail.activity.mixin |
| activity_type_id | Tipo de la siguiente actividad | many2one | related: heredado de mail.activity.mixin |
| activity_user_id | Usuario responsable | many2one | solo lecturacalculado heredado de mail.activity.mixin |
| duration_tracking | Tiempo del estado JSON que mapea IDs de un campo many2one a segundos utilizados | json | calculado heredado de mail.tracking.duration.mixin |
| has_message | Tiene un mensaje | boolean | calculado heredado de mail.thread |
| html_field_history | Datos del historial | json | solo lectura heredado de html.field.history.mixin |
| html_field_history_metadata | Metadatos del historial | json | calculado heredado de html.field.history.mixin |
| is_rotting | En espera/estancado | boolean | calculado heredado de mail.tracking.duration.mixin |
| message_attachment_count | Número de archivos adjuntos | integer | calculado heredado de mail.thread |
| message_follower_ids | Seguidores | one2many | inverso: heredado de mail.thread |
| message_has_error | Error de envío de mensaje Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_has_error_counter | Número de errores Número de mensajes con error de envío | integer | calculado heredado de mail.thread |
| message_has_sms_error | Error de envío del SMS Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_ids | Mensajes | one2many | inverso: heredado de mail.thread |
| message_is_follower | Es un seguidor | boolean | calculado heredado de mail.thread |
| message_needaction | Acción requerida Si está marcada, hay nuevos mensajes que requieren su atención. | boolean | calculado heredado de mail.thread |
| message_needaction_counter | Número de acciones Número de mensajes que requieren una acción | integer | calculado heredado de mail.thread |
| message_partner_ids | Seguidores (Contactos) | many2many | calculado heredado de mail.thread |
| my_activity_date_deadline | Fecha límite de mi actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| rating_avg | Calificación promedio | float | calculado heredado de rating.mixin |
| rating_avg_text | Texto de calificación media | selection | calculado Valores: heredado de rating.mixin |
| rating_count | Número de calificaciones | integer | calculado heredado de rating.mixin |
| rating_ids | Calificaciones | one2many | inverso: heredado de mail.thread |
| rating_last_feedback | Últimos comentarios de la calificación | text | related: heredado de rating.mixin |
| rating_last_image | Última imagen de la calificación | binary | related: heredado de rating.mixin |
| rating_last_text | Texto de calificación | selection | related: heredado de rating.mixin |
| rating_last_value | Último valor de la calificación | float | calculado, almacenado heredado de rating.mixin |
| rating_percentage_satisfaction | Satisfacción de calificación | float | calculado heredado de rating.mixin |
| rotting_days | Días en espera Número de días desde la última actualización de este recurso | integer | calculado heredado de mail.tracking.duration.mixin |
| create_uid | Creado por | many2one | solo lecturaautomático |
| id | ID | integer | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- account.analytic.line: timesheet_ids
- hr.employee.skill: user_skill_ids
- ir.attachment: attachment_ids, displayed_image_id
- mail.message: website_message_ids
- product.product: timesheet_product_id
- project.milestone: milestone_id
- project.project: project_id
- project.role: role_ids
- project.tags: tag_ids
- project.task: child_ids, depend_on_ids, dependent_ids, parent_id
- project.task.recurrence: recurrence_id
- project.task.stage.personal: personal_stage_id
- project.task.type: personal_stage_type_id, personal_stage_type_ids, stage_id
- res.company: company_id
- res.partner: partner_id
- res.users: user_ids
- sale.order: project_sale_order_id, sale_order_id
- sale.order.line: last_sol_of_customer, sale_line_id
Campos de otros modelos que apuntan aquí
- account.analytic.line: parent_task_id, task_id
- product.template: task_template_id
- project.tags: task_ids
- project.task: depend_on_ids, dependent_ids, parent_id
- project.task.stage.personal: task_id
- report.project.task.user: dependent_ids, parent_id, task_id
- res.company: leave_timesheet_task_id
- res.config.settings: leave_timesheet_task_id
- sale.order: tasks_ids
- sale.order.line: task_id
- task.share.wizard: task_id
- timesheets.analysis.report: parent_task_id, task_id
Leer este modelo por la API
Ejemplo de llamada a la API JSON-2 de Odoo 19: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.
curl -X POST "https://su-instancia.odoo.com/json/2/project.task/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","state","company_id","displayed_image_id","milestone_id"],"limit":5}'import requests
BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}
res = requests.post(
f"{BASE_URL}/project.task/search_read",
headers=headers,
json={"domain": [], "fields": ["name","state","company_id","displayed_image_id","milestone_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- El acceso a la API externa está reservado al plan Custom de Odoo.
- XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
- Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.
Citar esta herramienta
¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.
<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/project-task">project.task (Odoo 19.0)</a>Fuentes
- Código fuente del modelo en GitHub
- Documentación de Odoo 19: ORM API
- Documentación de Odoo 19: API externa JSON-2
Datos verificados el 23 de septiembre de 2026 · Odoo 19.0 Community
¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos
Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.