This means that whenever you create a new Product object, you also need to create a new StockRecord object for it. The StockRecord object contains information such as product price, currency, and the partner / seller that provides it. Since you decide to have several partners, you will need to connect the new products that you create to the partner who provides them.
Something like that:
from oscar.core.loading import get_model Product = get_model('catalogue', 'Product') ProductClass = get_model('catalogue', 'ProductClass') Partner = get_model('partner', 'Partner') StockRecord = get_model('partner', 'StockRecord') shoes = ProductClass.objects.get(name='Shoes') nike_air = Product.objects.create(title='Nike Air', product_class=shoes) nike = Partner.objects.get(name='Nike') stock_record = StockRecord.objects.create( partner=nike, partner_sku='nike-air-123' product=nike_air, price_currency='EUR', price_excl_tax='200' )
source share