Mike: I think I've seen a few requests here on the list over the past months for some kind of "default" or "unspecified" or other catch-all for the occasional one-off exception to what are otherwise polymorphic collections. I think it's actually a fairly common use-case.
I'll try some of Simon's suggestions (thanks), but I think real support for something like this would make sense -- could you think about the issue a bit? Thanks, Rick On 3/6/07, Michael Bayer <[EMAIL PROTECTED]> wrote: > > > yeah, i didnt like adding this particular error message, but since it > leads to a bigger problem later i sort of had to. > > i am sure a lot of people are going to hit this one. so i guess ill > put a flag in for this one....i think people shoud me made aware that > they are allowing a potentially error-causing behavior to occur. > > On Mar 5, 2007, at 8:12 PM, Rick Morrison wrote: > > > The fix for ticket #500 breaks a pattern I've been using. > > > > It's most likely an anti-pattern, but I don't see a way to get what > > I want in SA otherwise. > > > > I've got a series of "entities" > > > > class Person(): > > pass > > > > class Manager(Person): > > def __init__(self): > > # do manager stuff > > > > class Demigod(Person): > > def __init__(self): > > # do demigod stuff > > > > etc. > > > > there are mappers for each of these entities that inherit from > > Person(), so all of the normal Person() properties exist, but Person > > () itself is not polymorphic. That's on purpose, and because the > > class hierarchy of Manager(), etc, is not exhaustive, and I > > occasionally want to save instances of Person() directly. > > If I make the Person() class polymorphic on a column of say "typ", > > then SA clears whatever "typ" I may have tried to set directly, and > > seems to make me specify an exhaustive list of sub-types. > > > > And so I leave Person() as non-polymorphic. I also have a > > collection of Person() objects on a different mapper, which can > > load entity objects of any type. > > > > Before rev #2382, I could put a Manager() in a Person() collection, > > and it would flush OK. Now it bitches that it wants a real > > polymorphic mapper. I don't want to use a polymorphic mapper, > > because I don't want to specify an exhaustive list of every class > > that I'm ever going to use. > > > > What to do? > > > > Thanks, > > Rick > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---