Boa tarde galera,

Na verdade não sei nem se estou postando na lista correta, se seria no
zope-pt ou python-br, enfim. Estou estudando o ZODB, tive curiosidade
devido nunca ter trabalhado com um banco OO.

Lendo um tutorial aqui, outro ali...
Fiz um código para exercitar:

"""
from ZODB import FileStorage, DB

storage = FileStorage.FileStorage('/tmp/cadastro.fs')
db = DB(storage)
conn = db.open()

"""

import ZODB.config
from persistent import Persistent

db = ZODB.config.databaseFromURL('cadastro.conf')
conn = db.open()

class Pessoa(Persistent):
    def __init__(self, id, nome, idade):
        self.id = id
        self.nome = nome
        self.idade = idade

dbroot = conn.root()

if not dbroot.has_key('userdb'):
    from BTrees.OOBTree import OOBTree
    dbroot['userdb'] = OOBTree()

userdb =  dbroot['userdb']

import transaction

ps = Pessoa(1, 'mateus', 23)

userdb[ps.id] = ps

transaction.commit()

---------------------------------//-----------------------------


Resumindo... como é o funcionamento do ZODB, pq estou inserindo mais
de uma vez o id = 1 por exemplo, onde defino com userdb a chave id, e
não da erro algum, na verdade acho que nem inserindo está no meu banco
os dados.

Gostaria de uma forcinha de vcs, o que fazer no código para realmente
gravar no banco e se tentar inserir mais de um id com mesmo número
apresentar um erro. O que ta faltando? o que estou fazendo de errado?

Desde já agradeço a atenção de todos e peço desculpas se postei no
fórum errado.

Mateus Zenaide Henriques


Responder a