Hi everyone! I have a simple "Invoices" class with a "Number" attribute that has to be filled in by the application when the user saves an invoice. There are some constraints:
1) the application is a (thin) client-server one, so whatever determines the number must look out for collisions 2) Invoices has a "version" attribute too, so I can't use a simple DBMS-level autoincrementing field I'm trying to build this using a custom Type that would kick in every time an invoice gets saved. Whenever process_bind_param is called with a None value, it will call a singleton of some sort to determine the number and avoid collisions. Is this a decent solution? Anyway, I'm having a problem.. Here's my custom Type: ---------------- class AutoIncrement(types.TypeDecorator): impl = types.Unicode def copy(self): return AutoIncrement() def process_bind_param(self, value, dialect): if not value: # Must find next autoincrement value value = "1" # Test value :) return value ---------------- My problem right now is that when I save an Invoice and AutoIncrement sets "1" as value for its number, the Invoice instance *doesn't* get updated with the new number.. Is this expected? Am I missing something? Many thanks for your time! (SQLA 0.5.3 on Python 2.6, using postgreSQL 8.3) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---