chargebee-python icon indicating copy to clipboard operation
chargebee-python copied to clipboard

Add useful __repr__() methods to Model & Result

Open rcoup opened this issue 7 years ago • 5 comments

Fix for #12

Uses Model.fields[0] by default, but can be overridden via Model.repr_field

eg.

>>> r = chargebee.Subscription.list({})[0]
>>> r
<chargebee.Result: customer;subscription>
>>> r.customer
<chargebee.Customer: id=1mk51RNQdn96z7hT6>
>>> r.subscription
<chargebee.Subscription: id=1mkVvvHQiQMbLBBf>
>>> r.customer.billing_address
<chargebee.BillingAddress: zip=None>

rcoup avatar Feb 07 '18 16:02 rcoup

I went through the models and set repr_field on anything where fields[0] was obviously not useful (eg. last_name), but there might be better options.

rcoup avatar Feb 07 '18 16:02 rcoup

@rcoup Thanks for your contributions to our Python API library. We are planning to change repr() to render in the format '<modelName #id at #objectId> JSON: #response'. Will it work for you?

vikiuvb avatar Feb 19 '18 15:02 vikiuvb

@vikiuvb can you paste in an example? Feels like the entire JSON is too verbose to put in a repr string?

rcoup avatar Feb 19 '18 16:02 rcoup

has been updated against master ~2.6.4.

Any chance of some attention?

rcoup avatar May 24 '19 11:05 rcoup

Updated again against 2.7.1

rcoup avatar Jan 20 '20 16:01 rcoup