Pular para o conteúdo
Odoo Menu
  • Entrar
  • Experimente grátis
  • Aplicativos
    Finanças
    • Financeiro
    • Faturamento
    • Despesas
    • Planilhas (BI)
    • Documentos
    • Assinar Documentos
    Vendas
    • CRM
    • Vendas
    • PDV Loja
    • PDV Restaurantes
    • Assinaturas
    • Locação
    Websites
    • Criador de Sites
    • e-Commerce
    • Blog
    • Fórum
    • Chat ao Vivo
    • e-Learning
    Cadeia de mantimentos
    • Inventário
    • Fabricação
    • PLM - Ciclo de Vida do Produto
    • Compras
    • Manutenção
    • Qualidade
    Recursos Humanos
    • Funcionários
    • Recrutamento
    • Folgas
    • Avaliações
    • Indicações
    • Frota
    Marketing
    • Redes Sociais
    • Marketing por E-mail
    • Marketing por SMS
    • Eventos
    • Automação de Marketing
    • Pesquisas
    Serviços
    • Projeto
    • Planilhas de Horas
    • Serviço de Campo
    • Central de Ajuda
    • Planejamento
    • Compromissos
    Produtividade
    • Mensagens
    • Aprovações
    • Internet das Coisas
    • VoIP
    • Conhecimento
    • WhatsApp
    Aplicativos de terceiros Odoo Studio Plataforma Odoo Cloud
  • Setores
    Varejo
    • Loja de livros
    • Loja de roupas
    • Loja de móveis
    • Mercearia
    • Loja de ferramentas
    • Loja de brinquedos
    Comida e hospitalidade
    • Bar e Pub
    • Restaurante
    • Fast Food
    • Hospedagem
    • Distribuidor de bebidas
    • Hotel
    Imóveis
    • Imobiliária
    • Escritório de arquitetura
    • Construção
    • Administração de propriedades
    • Jardinagem
    • Associação de proprietários de imóveis
    Consultoria
    • Escritório de Contabilidade
    • Parceiro Odoo
    • Agência de marketing
    • Escritório de advocacia
    • Aquisição de talentos
    • Auditoria e Certificação
    Fabricação
    • Têxtil
    • Metal
    • Móveis
    • Alimentação
    • Cervejaria
    • Presentes corporativos
    Saúde e Boa forma
    • Clube esportivo
    • Loja de óculos
    • Academia
    • Profissionais de bem-estar
    • Farmácia
    • Salão de cabeleireiro
    Comércio
    • Handyman
    • Hardware e Suporte de TI
    • Sistemas de energia solar
    • Sapataria
    • Serviços de limpeza
    • Serviços de climatização
    Outros
    • Organização sem fins lucrativos
    • Agência Ambiental
    • Aluguel de outdoors
    • Fotografia
    • Aluguel de bicicletas
    • Revendedor de software
    Navegar por todos os setores
  • Comunidade
    Aprenda
    • Tutoriais
    • Documentação
    • Certificações
    • Treinamento
    • Blog
    • Podcast
    Empodere a Educação
    • Programa de educação
    • Scale Up! Jogo de Negócios
    • Visite a Odoo
    Obtenha o Software
    • Baixar
    • Comparar edições
    • Releases
    Colaborar
    • Github
    • Fórum
    • Eventos
    • Traduções
    • Torne-se um parceiro
    • Serviços para parceiros
    • Cadastre seu escritório contábil
    Obtenha os serviços
    • Encontre um parceiro
    • Encontre um Contador
    • Conheça um consultor
    • Serviços de Implementação
    • Referências de Clientes
    • Suporte
    • Upgrades
    Github YouTube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Faça uma demonstração
  • Preços
  • Ajuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Financeiro
  • Inventário
  • PoS
  • Projeto
  • MRP
All apps
É necessário estar registrado para interagir com a comunidade.
Todas as publicações Pessoas Emblemas
Marcadores (Ver tudo)
odoo accounting v14 pos v15
Sobre este fórum
É necessário estar registrado para interagir com a comunidade.
Todas as publicações Pessoas Emblemas
Marcadores (Ver tudo)
odoo accounting v14 pos v15
Sobre este fórum
Ajuda

How can I get the parent value in the creation of a child? In Odoo 9

Inscrever

Seja notificado quando houver atividade nesta publicação

Esta pergunta foi sinalizada
defaultodooodoo9
1 Responder
29381 Visualizações
Avatar
Nacho

I want to create a new register, but I need to put the value of a parent field as a default value of a child field.
I know that you can send parent values through context from XML and whenever a new form is opened, "default_get" of that object will be executed.

Example, [In XML view]:
<field name="one2many_ids" context="{'variable1' : name, 'variable2' : active_id, 'default_column1' : 'samplevalue'}">
Note: [There are 3 ways of setting default value]
 1. Variable1: you can pass parent value, which you can retrieve in default_get method.. 2. Variable2: "active_id" is a keyvalue, which provides ID of its immediate parent object, so in default_get you can browse and fetch the parent record , provided parent record must be saved in order to get it... 3. default_column: straight away setting default values for a column.

My problem now is:
How can I access to those values in the default_get method?

I have tried this:

@api.model
def default_get(self, vals):
    context = dict(self.env.context)
    variable1 = context.get('variable1', False)
    print ' variable1'

But this has not worked.

0
Avatar
Cancelar
Avatar
Adrien
Melhor resposta

Hi,


You don't need to use default_get.

In your context in xml in the one2manyfield :
context = {'parent_id': active_id, 'parent_model': 'your.parent_model'}

If you want to get the parent obj in the child object to set some default fields of the child, you could try smth like this in the child class (replace with your values, of course) :

def _get_some_default(self):

     parent_id = self.env.context.get('parent_id') 

     parent_model = self.env.context.get('parent_model')       

     if parent_id and parent_model:

         parent_obj = self.env[parent_model].browse(parent_id)

         # now you have the parent obj to do what you want

         default_value = ... use the parent

         return default_value


some_field = fields.Char(default=_get_some_default)



1
Avatar
Cancelar
Nacho
Autor

Ok, I pass this value in the context, but when do I pick it? In what method?

OdooBot
Why do you need to pick it?
It should be set by default when you open the form by clicking on the field.

Le jeu. 7 juin 2018 18:22, Nacho <nacho@baintex.com> a écrit :

Ok, I pass this value in the context, but when do I pick it? In what method?

--
Nacho

Sent by Odoo S.A. using Odoo.

Nacho
Autor

But I need to pick the value to access to some fields of the parent and so stuff for the default value of some field of the child.

Adrien

I edited my answer

Nacho
Autor

Okay, I have added a print after active_id and active_model and both values are None.

If I print the context, I have only this:

context= {u'lang': u'es_ES', u'tz': u'Europe/Madrid', u'uid': 1}

OdooBot
Can you try passing them from the xml ?

In your context in xml in the one2manyfield :
context = {'parent_id': active_id, 'parent_model': 'your.parent_model'}

=> and use this in the default function instead of active_id/active_model

2018-06-08 11:01 GMT+02:00 Nacho <nacho@baintex.com>:

Okay, I have added a print after active_id and active_model and both values are None.

If I print the context, I have only this:

context= {u'lang': u'es_ES', u'tz': u'Europe/Madrid', u'uid': 1}

--
Nacho

Sent by Odoo S.A. using Odoo.




--
Adrien Combourieu
00 33 6 29 85 94 59
adrien.combourieu@gmail.com
Nacho
Autor

That worked :)

I realised that I was passing the context through a child field, and that is wrong. The correct way is to pass the context through the One2many field.

Adrien

OK I edited the answer. Can you upvote it ?

Sehrish

Get parent form value in one2many form view or pop up form view, refer below link hope this may helps you

http://learnopenerp.blogspot.com/2018/01/get-parent-form-value-in-one2many-form.html

Nacho
Autor

Thank you both.

@Adrien I don't know why I cannot vote up your answer. I tried with different browser, and it seems that its a bug with the web. But I have voted it as a solution.

Está gostando da discussão? Não fique apenas lendo, participe!

Crie uma conta hoje mesmo para aproveitar os recursos exclusivos e interagir com nossa incrível comunidade!

Inscreva-se
Publicações relacionadas Respostas Visualizações Atividade
How to bring products from opportunity to quotation
odoo odoo9
Avatar
0
out. 23
3634
Preview pdf,docs or other attachment file Resolvido
odoo odoo9
Avatar
Avatar
Avatar
Avatar
Avatar
4
dez. 21
35088
odoo 9 show user popups Resolvido
odoo odoo9
Avatar
Avatar
2
dez. 20
9845
installable , auto_install and application in __openerp__.py file
odoo odoo9
Avatar
Avatar
2
ago. 18
8572
How to override javascript function in main mail module to my module
odoo odoo9
Avatar
Avatar
1
jul. 17
5483
Comunidade
  • Tutoriais
  • Documentação
  • Fórum
Open Source
  • Baixar
  • Github
  • Runbot
  • Traduções
Serviços
  • Odoo.sh Hosting
  • Suporte
  • Upgrade
  • Desenvolvimentos personalizados
  • Educação
  • Encontre um Contador
  • Encontre um parceiro
  • Torne-se um parceiro
Sobre nós
  • Nossa empresa
  • Ativos da marca
  • Contato
  • Empregos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidade
  • Segurança
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo é um conjunto de aplicativos de negócios em código aberto que cobre todas as necessidades de sua empresa: CRM, comércio eletrônico, contabilidade, estoque, ponto de venda, gerenciamento de projetos, etc.

A proposta de valor exclusiva Odoo é ser, ao mesmo tempo, muito fácil de usar e totalmente integrado.

Site feito com

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now