Completely untested, but what about:

class A(SQLObject):
     class sqlmeta:
         idName = 'Ident'

class A1(A):
     class sqlmeta(A.sqlmeta):
         table = 'TableA1'

- Luke

Quoting Robert <[EMAIL PROTECTED]>:

> Hello,
>
> I have encountered a situation where I'd like to define a common
> subclass (in the sense of Python) for a set of closely related and quite
> bulky SQLObject classes. Actually, at least now, these classes differ
> only by sqlmeta.table, but in the future this might change. Now, a vital
> part of the class structure specification is that each table has the
> same primary key name. Thus, it would be nice to have the id name
> declared inside the class scope, not in the sqlmeta, like this:
>
> class A(SQLObject):
>     _idName = "Ident"
>     # a lot of other definitions: fields, instance and class methods
>
> class A1(A):
>     class sqlmeta: table="TableA1"
>     pass  # possibly something more elaborate some day
>
> class A2(A):
>     class sqlmeta: table="TableA2"
>     pass  # possibly something more elaborate some day
>
> This of course does not quite work on SQLObject 0.7.1 and 0.7.2 (I
> suppose used to work in the more remote past?). There are two problems
> here: the _idName gets erased in subclasses defining sqlmeta, and (a
> minor wart) _idName is deprecated so the code spits a warning. I believe
> the situation described above is a legitimate reason to undeprecate
> _idName and make it work with subclasses defining sqlmeta - this would
> probably require checking if id name is defined in both places and
> throwing an error on this or somethinig. If you like the idea, I may be
> able to send a patch in a few days.
>
> Robert
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> sqlobject-discuss mailing list
> sqlobject-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
>



--
The Pursuit of Counterfactual Histories

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to