res.country: campos, relaciones y API
El modelo res.country («País») es un modelo persistente declarado por el módulo Base y ampliado por 5 módulos más. Expone 24 campos, 18 de ellos declarados directamente en el modelo; 68 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
res.country- Etiqueta
- País
- Tipo
- Persistente (models.Model)
- Tabla SQL
res_country- Módulo de origen
- Base (
base) - Ampliado por
- payment, base_address_extended, base_vat, point_of_sale, pos_self_order
- Orden por defecto (_order)
name, id- Hereda de (mixins)
- pos.load.mixin
Campos del modelo
18 campos propios, 0 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
24 de 24 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| address_format | Diseño en los informes Display format to use for addresses belonging to this country. You can use python-style string pattern with all the fields of the address (for example, use '%(street)s' to display the field 'street') plus %(state_name)s: the name of the state %(state_code)s: the code of the state %(country_name)s: the name of the country %(country_code)s: the code of the country | text | |
| address_view_id | Vista para entrada Utilice este campo si quiere cambiar la manera habitual de codificar una dirección completa. Tenga en cuenta que el campo address_format se utiliza para modificar la forma en la que se muestran las direcciones (en los informes, por ejemplo), mientras que este campo se utiliza para modificar el formulario de registro de las direcciones. | many2one | |
| code | Código de país The ISO country code in two chars. You can use this field for quick search. | char | obligatorio |
| country_group_codes | Códigos de grupos de países | json | calculado |
| country_group_ids | Grupos de países | many2many | |
| currency_id | Moneda | many2one | |
| enforce_cities | Forzar ciudades Marque esta casilla para asegurarse de que cada dirección creada en ese país tenga una 'ciudad' elegida entre las que se encuentran en la lista de ciudades del país. | boolean | añadido por Direcciones ampliadas ( |
| has_foreign_fiscal_position | Tine una posición fiscal extranjera | boolean | calculado añadido por Validación de NIF ( |
| image_url | Marcar URL de la imagen estática de la bandera | char | calculado |
| is_mercado_pago_supported_country | Mercado Pago es compatible con este país | boolean | calculado añadido por Motor de pago ( |
| is_stripe_supported_country | Stripe está disponible en este país | boolean | calculado añadido por Motor de pago ( |
| name | Nombre del país | char | obligatoriotraducible |
| name_position | Posición nombre del cliente Determina dónde se debe situar el nombre del cliente/empresa; es decir, antes o después de la dirección. | selection | Valores: |
| phone_code | Código de llamada del país | integer | |
| state_ids | Provincias | one2many | inverso: |
| state_required | Provincia requerida | boolean | |
| vat_label | Etiqueta NIF Utilice este campo si quiere cambiar la etiqueta del IVA. | char | traducible |
| zip_required | Código Postal requerido | boolean | |
| create_date | Creado el | datetime | solo lecturaautomático |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- ir.ui.view: address_view_id
- res.country.group: country_group_ids
- res.country.state: state_ids
- res.currency: currency_id
Campos de otros modelos que apuntan aquí
- account.account.tag: country_id
- account.fiscal.position: company_country_id, country_id
- account.invoice.report: country_id
- account.move: tax_country_id
- account.move.line: commercial_partner_country
- account.report: country_id
- account.report.external.value: report_country_id
- account.tax: country_id
- account.tax.group: country_id
- base.document.layout: country_id
- crm.activity.report: country_id
- crm.iap.lead.mining.request: country_ids
- crm.lead: country_id
- crm.partner.report.assign: country_id
- crm.reveal.rule: country_ids
- delivery.carrier: country_ids
- discuss.channel: country_id
- event.event: country_id
- event.sponsor: country_id
- fleet.vehicle: country_id
- hr.attendance.overtime.ruleset: country_id
- hr.contract.type: country_id
- hr.departure.reason: country_id
- hr.employee: company_country_id, country_of_birth
- hr.leave.type: country_id
- hr.payroll.structure.type: country_id
- hr.version: company_country_id, country_id, private_country_id
- hr.work.entry: country_id
- hr.work.entry.type: country_id
- im_livechat.channel.member.history: session_country_id
- im_livechat.channel.rule: country_ids
- im_livechat.report.channel: country_id
- ir.module.module: country_ids
- link.tracker.click: country_id
- lunch.supplier: country_id
- mail.guest: country_id
- mailing.contact: country_id
- payment.method: supported_country_ids
- payment.provider: available_country_ids, mercado_pago_account_country_id, paymob_account_country_id
- payment.transaction: partner_country_id
- y 19 más
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/res.country/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","code","address_view_id","currency_id","address_format"],"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}/res.country/search_read",
headers=headers,
json={"domain": [], "fields": ["name","code","address_view_id","currency_id","address_format"], "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/res-country">res.country (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.