Trying ZODB, background in Relational: mimic auto_increment?
Jean-Paul Calderone
exarkun at divmod.com
Thu Aug 14 08:30:25 EDT 2008
On Thu, 14 Aug 2008 05:22:35 -0700 (PDT), Phillip B Oldham <phillip.oldham at gmail.com> wrote:
>Hi all. I'm playing with standalone ZODB at the moment trying to get a
>better understanding of its use in applications. I come from a
>PHP/MySQL background, and I'm taking my first steps with Python at the
>same time.
>
>One of the things I'm not understanding about ZODB is assigning
>incremental IDs to objects. For instance, if I were to be writing a
>support-ticket system I'd want to give each ticket a unique number,
>but one that's "human-useable" (otherwise you could just use a UUID -
>try giving one of those over the phone!).
>
>Also, how would one add a new item to the db in this way?
>
>For instance:
>
>class Ticket(Persistence):
> def __init__(self):
> self.id = '' # How do I add a new incremental ID here?
>
># and later on in the app
>
>tkt = Ticket()
>dbroot[?????] = tkt
>
>How would one assign a unique ID to the root at that point?
Here's one way
class Sequence(Persistence):
def __init__(self):
self.current = 0
def next(self):
self.current += 1
return self.current
ticketSequence = Sequence()
class Ticket(Persistence):
def __init__(self):
self.id = ticketSequence.next()
Jean-Paul
More information about the Python-list
mailing list