在django oscar管理多个经销商

时间:2016-03-16 07:51:11

标签: 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 *




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

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

如果有人对我的问题有任何疑问,请告诉我,我该怎样才能实现。

提前致谢: - )

1 个答案:

答案 0 :(得分: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'
)