管理django oscar的多个经销商

Mah*_*arg 5 python django django-oscar

我是新的django-oscar,我需要管理多个卖家,他们可以添加他们的产品并且可以查看ie.他们可以有自己的仪表板,我按照这个网址

https://django-oscar.readthedocs.org/en/releases-0.6/howto/multi_dealer_setup.html

并覆盖奥斯卡合作伙伴模型,如: -

from django.db import models
from oscar.apps.partner.abstract_models import AbstractPartner
from oscar.core.compat import AUTH_USER_MODEL
from django.utils.translation import ugettext_lazy as _

class Partner(AbstractPartner):
	user = models.OneToOneField(
        AUTH_USER_MODEL, related_name="partner",
        blank=True, verbose_name=_("Users"))

from oscar.apps.partner.models import *
Run Code Online (Sandbox Code Playgroud)

现在上面的链接有一条我没有得到的

"您需要强制创建每个产品的StockRecord.创建产品时,Stockrecord.partner设置为self.request.user.partner(必要时创建),因此建立连接."

如果有人对我的问题有任何了解,那么请告诉我,我怎样才能实现它.

提前致谢 :-)

Ved*_*ran 0

这意味着每当您创建一个新的 Product 对象时,您还需要为其创建一个新的 StockRecord 对象。StockRecord 对象包含产品价格、货币以及提供产品的合作伙伴/卖家等信息。由于您决定拥有多个合作伙伴,因此您需要将您创建的新产品连接到提供这些产品的合作伙伴。

像这样的东西:

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'
)
Run Code Online (Sandbox Code Playgroud)