Thanks a lot for the time you spent on my question (and for the answer).
I'll try to make it directly clear next time.

Regards


Le 16/03/2015 17:49, Michael Bayer a écrit :
>
> tonthon <[email protected]> wrote:
>
>> Sorry, still a few mistakes in what I wrote (first testing what you
>> paste is a far better way to work) :
>>
>>
>>
>>  121 from sqlalchemy.orm import
>> deferred                                            
>>  122 from sqlalchemy import
>> Text                                                    
>>
>> 123                                                                          
>>       
>>
>>  124 class
>> Base(DBBASE):                                                            
>>  125     __tablename__ =
>> 'base'                                                     
>>  126     __mapper_args__ = {'polymorphic_identity': 'base',
>> 'polymorphic_on':'type_'}
>>  127     id = Column(Integer,
>> primary_key=True)                                     
>>  128     name =
>> Column(String(255))                                                 
>>  129     description =
>> deferred(                                                    
>>  130        
>> Column(Text()),                                                        
>>  131        
>> group="full"                                                           
>>  132    
>> )                                                                          
>>  133     type_ = Column( String(30),
>> nullable=False)                                
>>
>> 134                                                                          
>>       
>>
>>  135 class
>> Element(Base):                                                           
>>  136     __tablename__ =
>> 'element'                                                  
>>  137     __mapper_args__ = {'polymorphic_identity':
>> 'element'}                      
>>  138     id = Column(ForeignKey("base.id"),
>> primary_key=True)                       
>>  139     comments = deferred( Column(Text()), group="full", )
>>
>>
>> print(DbSession().query(Element).options(undefer_group('full')))
>>
>> SELECT element.comments AS element_comments, element.id AS element_id,
>> base.id AS base_id, base.name AS base_name, base.type_ AS base_type_
>> FROM base INNER JOIN element ON base.id = element.id
> looks like it was fixed in 0.9.9 in #3287.  Please upgrade.
>
>
>
>
>
>
>
>>
>> Le 16/03/2015 17:33, tonthon a écrit :
>>> Sorry I was a bit too speed when writing that one :)
>>>
>>> So I've got a Base model :
>>> """
>>> class Base(DBBASE):
>>>    __tablename__ =
>>> 'base'                                                     
>>>    __mapper_args__ = {'polymorphic_identity': 'base', 'polymorphic_on':
>>> 'type_'}      
>>>    id = Column(Integer, primary_key=True)
>>>   name = Column(String(255))
>>>   description = deferred(
>>>       Column(Text()),
>>>       group="full"
>>>   )
>>>    type_ = Column( String(30), nullable=False)
>>> """
>>>
>>> and a child model
>>> """
>>> class Element(DBBASE):
>>>    __tablename__ = 'element'
>>>    __mapper_args__ = {'polymorphic_identity': 'element'}
>>>    id = Column(ForeignKey("base.id"))
>>>   comments = deferred( Column(Text()), group="full", )
>>> """
>>>
>>> The following query :
>>> """
>>> Element.query().options(undefer_group('full')).all()
>>> """
>>>
>>> doesn't load the description column, is that the expected behaviour ?
>>>
>>> Regards
>>>
>>>
>>> Le 16/03/2015 17:21, Michael Bayer a écrit :
>>>> tonthon <[email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm using polymorphism and I set up some deferred columns at each level
>>>>> of inheritance belonging to the same deferred group :
>>>>>
>>>>> """
>>>>> class Base(DBBASE):
>>>>>   id = Column(Integer, primary_key=True)
>>>>>   name = Column(String(255))
>>>>>   description = deferred(
>>>>>       Column(Text()),
>>>>>       group="full"
>>>>>   )
>>>>>
>>>>> class Element(DBBASE):
>>>>>   id = Column(ForeignKey("base.id"))
>>>>>   comments = deferred(
>>>>>       Column(Text()),
>>>>>       group="full",
>>>>>   )
>>>>> """
>>>>>
>>>>> The following query :
>>>>>
>>>>> """
>>>>> Element.query().options(undefer_group('full')).all()
>>>>> """
>>>>>
>>>>> doesn't defer the description column, is that the expected behaviour ?
>>>> a query for Element here will not load objects of type “Base”, so I don’t 
>>>> see where “description” comes into play.
>>>>
>>>> If you can provide a more complete example that would help.
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sqlalchemy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to