Thanks Ryan.
I followed the blog again and it works now (I switched the approach similar
to the blog's suggestion). I found the blog earlier but encountered the
error "AppRegistryNotReady("Models aren't loaded yet.") " whenever I put
"from cartridge.shop.forms import AddProductForm" into my apps/models.py.
People also encountered this error in the comment and on the internet
(usually with version 1.8 or above), so one way to temporarily fix this is
to move all monkey patch from models.py to the shop source code
page_processors.py.
Also, do you know how to make inject the fields in "EXTRA_MODELS_FIELDS" to
be after the default fields defined in the source code. Right now, all of
my injected fields are on top and I prefer to have them after the default
fields.
On Monday, June 13, 2016 at 2:42:04 PM UTC-6, Ryan Hewitt wrote:
>
> Tran,
>
> I'm in a similar situation except that I have to add fields to an order
> that will actually affect the pricing. I'm still trying to decide on a
> good approach.
>
> Your use case appears to be more straightforward and I would recommend
> reading this blog:
> http://bitofpixels.com/blog/collecting-additional-information-on-a-per-product-basis-in-cartridge/
>
> In the post he explains that you need to modify Product, CartItem and
> OrderItem, perform a migration and integrate it by modifying the product
> form templates. To tie everything together he overrides the cart and the
> order add functions, as well as the setup function for Order.
>
> I feel this approach is a hack and is resistant to upstream change.
> Unfortunately it appears to be the Mezzanine way and I don't have enough
> e-commerce experience to contrast it to other systems. Please update the
> thread based on your experiences - especially if you encounter a better way
> to make such customizations.
>
> - Ryan
>
--
You received this message because you are subscribed to the Google Groups
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.