Problema com @transaction.commit_manually

3 views
Skip to first unread message

Guilherme Carvalho

unread,
May 30, 2012, 10:33:14 AM5/30/12
to django...@googlegroups.com
Estou tentando trabalhar com o @transaction.commit_manually numa rotina de criação de usuário (webservice), e tenho a seguinte estrutura 

        usuario = User.objects.create_user(cpf_cnpj, email, cpf_cnpj)
        usuario.groups.add(Group.objects.get(pk=1))
        usuario.first_name = nome_cliente
        usuario.last_name = nome_cliente
        usuario.is_staff = True
        usuario.is_superuser = False
        usuario.date_joined = datetime.now()
        usuario.last_login = datetime.now()
        usuario.save()
        
        cliente = Cliente()
        cliente.pk = usuario.pk
        cliente.nomeFantasia = nome_cliente
        cliente.sexo = sexo
        cliente.situacaoCredito = situacao_credito
        cliente.limiteCredito = limite_credito
        cliente.inscricaoEstadual = inscricao_estadual
        cliente.estadoCivil = estado_civil
        cliente.empresaTrabalha = ''
        cliente.idAtividadeSegmento = atividade_segmento
        cliente.descricaoAtividadeSegmento = descricao_atividade
        cliente.razaoSocial = empresa
        cliente.nomeFantasia = empresa
        cliente.dataFundacao = data_cadastro
        cliente.naturezaAtividade = descricao_atividade
        cliente.interacaoSite = 0
        cliente.idClienteDr = id_cliente
        cliente.cpf_cnpj = cpf_cnpj
        cliente.entidadeId = entidade_id
        cliente.save()        

        transaction.commit()

Quando rodo a rotina recebo a resposta:
invalid literal for int() with base 10: ''

Estou desconfiado que o problema esteja na linha cliente.pk=usuario.pk, pois não tenho como acessar o usuario.pk

Atenciosamente,

Guilherme de Carvalho Carneiro
Analista de sistemas
twitter: @GCarneiro
http://djangopeople.net/guilhermecarvalho/

George Ribeiro

unread,
May 30, 2012, 10:54:11 AM5/30/12
to django...@googlegroups.com
tente cliente.id = usuario.id, pk é uma propriedade. Mas não acho que também seja possível setar o id. Porque você deseja setar o id do cliente igual ao id do usuário? Porque não fazer um relacionamento?

--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Fred Chevitarese

unread,
May 30, 2012, 1:34:51 PM5/30/12
to django...@googlegroups.com
Se você relacionou no models, como ForeignKey, acho que ele vai aceitar apenas uma instância do objeto referenciado. 

Talvez seja isto... Posta teu models pra gente ver... 




"
O relógio da vida recebe corda apenas uma vez.
Ninguém tem o poder de decidir quando os ponteiros pararão, se mais cedo ou se mais tarde.
O presente é o único tempo que você possui.
Viva, ame e trabalhe com vontade.
Não ponha nenhuma esperança no tempo, pois o relógio pode parar a qualquer momento.
"

Fred Chevitarese - GNU/Linux
Reply all
Reply to author
Forward
0 new messages