Hello, My applications does some ordering using the distance from latitude 
and longitude haversine distance, i was able to calculate this using 
@hybrid.method and @.*expression, but i can't output the calculated 
distance:

*class PartnerAddress(db.Model, WithTimestampsModel, SerializeMixin):*
    
*    # Columns*
*    id = db.Column(db.Integer(), primary_key=True, nullable=False)*

*    partner_id = db.Column(*
*        db.Integer(),*
*        db.ForeignKey('partner.id'),*
*        nullable=False*
*    )*

*    latitude = db.Column(db.Numeric(precision=9, scale=7), nullable=False)*
*    longitude = db.Column(db.Numeric(precision=10, scale=7), 
nullable=False)*
   

*    @hybrid_method*
*    def distance(self, lat, lng):*
        
*        return math.acos(math.cos(math.radians(self.latitude)) * 
math.cos(math.radians(lat)) **
*               math.cos(math.radians(self.longitude) - math.radians(lng)) 
+*
*               math.sin(math.radians(self.latitude)) * 
math.sin(math.radians(lat))) * 6371*

*    @distance.expression*
*    def distance(cls, lat, lng):*
*        return func.acos(func.cos(func.radians(cls.latitude)) * 
func.cos(func.radians(lat)) **
*                         func.cos(func.radians(lng) - 
func.radians(cls.longitude)) +*
*                         func.sin(func.radians(cls.latitude)) * 
func.sin(func.radians(lat))) * 6371*


*class PartnerV3(db.Model, WithTimestampsModel,*
*                SoftDeletableModel, SerializeMixin):*
    

*    name = db.Column(db.String(128), nullable=False)*
    

*    address = db.relationship(*
*        'mustafar.partner.v3.models.address.PartnerAddress',*
*        backref='partner',*
*        uselist=False*
*    )*


when querying like this:

query = 
PartnerV3.query.join(PartnerAddress).order_by(PartnerAddress.distance(lat, 
lng)).paginate(1,10, False)

I can paginate the result, but it returns only the PartnerV3 object, i 
can't access the distance.

How do I access this distance property? 



  

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
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 sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to