hr.job : champs, relations et API
Le modèle hr.job (« Poste ») est un modèle persistant déclaré par le module Employés, puis enrichi par 5 autres modules. Il expose 97 champs, dont 56 déclarés directement sur le modèle ; 11 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.
Fiche d'identité
- Nom technique
hr.job- Libellé
- Poste
- Type
- Persistant (models.Model)
- Table SQL
hr_job- Module d'origine
- Employés (
hr) - Étendu par
- hr_recruitment, hr_skills, hr_recruitment_skills, hr_recruitment_survey, website_hr_recruitment
- Tri par défaut (_order)
sequence, name asc- Hérite de (mixins)
- mail.threadmail.alias.mixinmail.activity.mixinwebsite.seo.metadata
website.published.multi.mixinwebsite.searchable.mixinwebsite.structured_data.mixin
Champs du modèle
56 champs propres, 35 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
97 champs affichés sur 97
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| activity_count | Nombre d’activités | integer | calculé ajouté par Recrutement ( |
| address_id | Lieu de travail Sélectionnez le lieu où le candidat travaillera. Les adresses indiquées ici sont définies dans les informations de contact de la société. | many2one | ajouté par Recrutement ( |
| alias_id | Alias Alias de messagerie pour ce poste. Les nouveaux courriels vont automatiquement créer de nouveaux candidats pour ce poste. | many2one | ajouté par Recrutement ( |
| all_application_count | Total des candidatures | integer | calculé ajouté par Recrutement ( |
| applicant_hired | Candidats engagés | integer | calculé ajouté par Recrutement ( |
| applicant_matching_score | Score correspondant (%) | float | calculé ajouté par Recruitment - Skills Management ( |
| application_count | Nombre de candidatures | integer | calculé ajouté par Recrutement ( |
| application_ids | Candidatures à un poste | one2many | inverse : ajouté par Recrutement ( |
| color | Couleur | integer | ajouté par Recrutement ( |
| company_country_code | Code de pays de l'entreprise | char | related : |
| company_id | Société | many2one | requis |
| company_partner_id | Partenaire de la société | many2one | calculé ajouté par Recrutement ( |
| currency_id | Devise | many2one | lecture seule related : ajouté par Recrutement ( |
| current_job_skill_ids | Compétence du poste actuel | one2many | calculé ajouté par Gestion des compétences ( |
| department_id | Département | many2one | |
| description | Description du poste | html | |
| document_ids | Documents | one2many | lecture seulecalculé ajouté par Recrutement ( |
| documents_count | Nombre de documents | integer | calculé ajouté par Recrutement ( |
| employee_count | Nombre d'employés | integer | calculé ajouté par Recrutement ( |
| employee_ids | Employés | one2many | inverse : |
| employee_type_id | Type d'employé | many2one | |
| expected_degree | Diplôme attendu | many2one | ajouté par Recrutement ( |
| expected_employees | Nombre total d'employés prévu Nombre d'employés pour ce poste après de nouveaux recrutements. | integer | calculé |
| extended_interviewer_ids | Interviewer étendu | many2many | calculé, stocké ajouté par Recrutement ( |
| favorite_recruiter_ids | Recruteur favori | many2many | ajouté par Recrutement ( |
| full_url | URL du poste | char | calculé ajouté par Online Jobs ( |
| industry_id | Secteur d'activité | many2one | ajouté par Recrutement ( |
| interviewer_ids | Interviewers Les intervieweurs affectés au poste peuvent voir tous les candidats qui s'y trouvent. Ils ont accès aux informations, aux pièces jointes, à la gestion des réunions et peuvent les refuser. Il n'est pas nécessaire d'avoir des droits de recrutement pour être désigné comme intervieweur. | many2many | ajouté par Recrutement ( |
| is_favorite | Est favori | boolean | calculé ajouté par Recrutement ( |
| job_details | Détails de la procédure Des informations complémentaires qui sont apparaître sur la page de l'offre d'emploi | html | traduisible ajouté par Online Jobs ( |
| job_properties | Propriétés | properties | ajouté par Recrutement ( |
| job_skill_ids | Compétences | one2many | inverse : ajouté par Gestion des compétences ( |
| job_source_ids | Source de l’offre | one2many | inverse : ajouté par Recrutement ( |
| manager_id | Responsable du département | many2one | lecture seule related : ajouté par Recrutement ( |
| matching_applicant_skill_ids | Compétences correspondantes | many2many→ hr.skill | calculé ajouté par Recruitment - Skills Management ( |
| missing_applicant_skill_ids | Compétences manquantes | many2many→ hr.skill | calculé ajouté par Recruitment - Skills Management ( |
| name | Poste | char | requistraduisible |
| new_application_count | Nouvelle candidature Nombre de candidatures qui sont nouvelles dans le flux (généralement à la première étape du flux) | integer | calculé ajouté par Recrutement ( |
| no_of_employee | Nombre d'employés actuel Nombre d'employés occupant actuellement ce poste. | integer | calculé |
| no_of_hired_employee | Engagé Nombre d'employés engagés pour ce poste pendant la période du recrutement. | integer | calculé, stocké ajouté par Recrutement ( |
| no_of_recruitment | Cible Nombre d'employés que vous pensez recruter. | integer | |
| old_application_count | Ancienne candidature | integer | calculé ajouté par Recrutement ( |
| open_application_count | Nombre de candidatures ouvertes Nombre de candidatures encore en cours (ni embauchées ni refusées) | integer | calculé ajouté par Recrutement ( |
| payment_interval | Paie planifiée | selection | requis Valeurs : ajouté par Recrutement ( |
| recruiter_id | Recruteur The Recruiter will be the default value for all Applicants in this job position. The Recruiter is automatically added to all meetings with the Applicant. | many2one | |
| requirements | Prérequis | text | |
| salary_max | Salaire maximum | monetary | ajouté par Recrutement ( |
| salary_min | Salaire minimum | monetary | ajouté par Recrutement ( |
| sequence | Séquence | integer | |
| skill_ids | Compétence | many2many→ hr.skill | calculé, stocké ajouté par Gestion des compétences ( |
| survey_id | Formulaire d'entretien Sélectionnez un formulaire d'entretien pour ce poste et vous pourrez l'imprimer et y répondre pour chaque candidat ayant postulé ce poste. | many2one | ajouté par Hr Recruitment Interview Forms ( |
| tag_ids | Étiquettes | many2many | ajouté par Recrutement ( |
| website_description | Description du site web | html | ajouté par Online Jobs ( |
| website_published | Website Published Définir si l'offre est publiée sur le site web de l'entreprise. | boolean | ajouté par Online Jobs ( |
| website_rating | Évaluation du site web | html | ajouté par Online Jobs ( |
| activity_calendar_event_id | Activité suivante de l'événement du calendrier | many2one | calculé hérité de mail.activity.mixin |
| activity_date_deadline | Date limite de l'activité à venir | date | lecture seulecalculé hérité de mail.activity.mixin |
| activity_exception_decoration | Indicateur d’exception d’activité Type d'activité d'exception enregistrée. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_exception_icon | Icône Icône pour indiquer une activité d'exception. | char | calculé hérité de mail.activity.mixin |
| activity_ids | Activités | one2many | inverse : hérité de mail.activity.mixin |
| activity_plans_ids | Plans d'activité | many2many | calculé hérité de mail.activity.mixin |
| activity_state | Statut de l'activité Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_summary | Résumé de l'activité suivante | char | related : hérité de mail.activity.mixin |
| activity_type_icon | Icône de type d'activité | char | related : hérité de mail.activity.mixin |
| activity_type_id | Type d'activités à venir | many2one | related : hérité de mail.activity.mixin |
| activity_user_id | Utilisateur responsable | many2one | lecture seulecalculé hérité de mail.activity.mixin |
| alias_defaults | Alias Defaults | text | hérité de mail.alias.mixin |
| alias_domain | Nom d'alias de domaine | char | related : hérité de mail.alias.mixin.optional |
| alias_domain_id | Alias de domaine | many2one | related : hérité de mail.alias.mixin.optional |
| alias_email | Alias de messagerie | char | calculé hérité de mail.alias.mixin.optional |
| alias_name | Nom de l'alias | char | hérité de mail.alias.mixin |
| has_message | A un message | boolean | calculé hérité de mail.thread |
| is_seo_optimized | SEO optimisé | boolean | calculé, stocké hérité de website.seo.metadata |
| message_attachment_count | Nombre de pièces jointes | integer | calculé hérité de mail.thread |
| message_follower_ids | Abonnés | one2many | inverse : hérité de mail.thread |
| message_has_error | Erreur d'envoi du message Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_has_error_counter | Nombre d'erreurs Nombre de messages avec des erreurs d'envoi | integer | calculé hérité de mail.thread |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_ids | Messages | one2many | inverse : hérité de mail.thread |
| message_is_follower | Est un abonné | boolean | calculé hérité de mail.thread |
| message_needaction | Nécessite une action Si coché, de nouveaux messages demandent votre attention. | boolean | calculé hérité de mail.thread |
| message_needaction_counter | Nombre d'actions Nombre de messages nécessitant une action | integer | calculé hérité de mail.thread |
| message_partner_ids | Abonnés (Partenaires) | many2many | calculé hérité de mail.thread |
| my_activity_date_deadline | Échéance de mon activité | date | lecture seulecalculé hérité de mail.activity.mixin |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| seo_name | SEO nom | char | traduisible hérité de website.seo.metadata |
| website_meta_description | Méta-description du site web | text | traduisible hérité de website.seo.metadata |
| website_meta_keywords | Méta mots-clés site web | char | traduisible hérité de website.seo.metadata |
| website_meta_og_img | Image opengraph site web | char | hérité de website.seo.metadata |
| website_meta_title | Méta titre site web | char | traduisible hérité de website.seo.metadata |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- hr.applicant : application_ids
- hr.department : department_id
- hr.employee : employee_ids, favorite_recruiter_ids, manager_id, recruiter_id
- hr.employee.type : employee_type_id
- hr.job.skill : current_job_skill_ids, job_skill_ids
- hr.job.tag : tag_ids
- hr.recruitment.degree : expected_degree
- hr.recruitment.source : job_source_ids
- hr.skill : matching_applicant_skill_ids, missing_applicant_skill_ids, skill_ids
- ir.attachment : document_ids
- mail.alias : alias_id
- res.company : company_id
- res.currency : currency_id
- res.partner : address_id, company_partner_id
- res.partner.industry : industry_id
- res.users : extended_interviewer_ids, interviewer_ids
- survey.survey : survey_id
Champs d'autres modèles qui pointent ici
- hr.applicant : job_id
- hr.employee.public : job_id
- hr.expense.product.job.position.limit : job_ids
- hr.job.skill : job_id
- hr.leave.attendance.report : job_id
- hr.leave.mandatory.day : job_ids
- hr.leave.report.calendar : job_id
- hr.recruitment.source : job_id
- hr.recruitment.stage : job_ids
- hr.version : job_id
- job.add.applicants : job_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/hr.job/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","company_id","payment_interval","address_id","alias_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/hr.job/search_read",
headers=headers,
json={"domain": [], "fields": ["name","company_id","payment_interval","address_id","alias_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/hr-job">hr.job (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.