well yeah like I said I think you need to subclass Query first off, then 
intercept your special entities in the constructor and do special processing in 
__iter__.


On Jun 6, 2012, at 5:55 PM, Victor Olex wrote:

> To be clear this is not a feature request. I could use a hit how to
> build a fake mapper like this if not compatible in certain cases.
> 
> On Jun 6, 5:52 pm, Victor Olex <victor.o...@vtenterprise.com> wrote:
>> Thanks. Model that we work with has tables, which have no unique
>> constraints. Keys can be inferred from data contained specified in ORM
>> maping but there is no guarantee that this will always work because
>> data may change. Still one could argue a case where mapping such table
>> to a class has merit even if far removed from all the benefits of
>> SQLAlchemy ORM.
>> 
>> On Jun 6, 4:55 pm, Michael Bayer <mike...@zzzcomputing.com> wrote:
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>> There's two variants to this question, and I can't tell which one you're 
>>> asking for.
>> 
>>> If the views in question do in fact have candidate keys, that is, columns 
>>> which uniquely identify a row, you just specify those either to the Table 
>>> or mapper() as the columns that uniquely identify the row.   They don't 
>>> have to be considered "primary" by the database in any formal way.
>> 
>>> If OTOH you have views which truly have duplicate rows and no candidate key 
>>> of any kind, the ORM won't do that.   As you probably know, the primary key 
>>> thing is more or less the spine of mapper() and Query, and there's really 
>>> no way the ORM could be refactored, without a great loss of stability and 
>>> performance, to make this requirement optional.
>> 
>>> If you're looking for duplicate rows to come back as individual objects, 
>>> Query() can be handed Table objects to load rows from, so a custom Query 
>>> subclass that wraps named tuples into objects could possibly approximate 
>>> this effect.
>> 
>>> On Jun 6, 2012, at 3:01 PM, Victor Olex wrote:
>> 
>>>> With the understanding that we would loose the ability to properly
>>>> track the sate of a mapped object and ability to update or insert in
>>>> ORM and likely the ability to correctly use relationships as well -
>>>> how can one accomplish a mapper, which would work on tables (views)
>>>> without any key, which uniquely identify records in it?
>> 
>>>> The rationale for this question is to be able to be able to operate on
>>>> these tables in object (ORM) context and to join them in queries with
>>>> other normally mapped classes for reading purposes only. The ideal
>>>> solution would be perhaps a different Declarative Base class using a
>>>> modified mapper.
>> 
>>>> --
>>>> 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 
>>>> athttp://groups.google.com/group/sqlalchemy?hl=en.
> 
> -- 
> 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.
> 

-- 
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.

Reply via email to