我是新的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(必要时创建),因此建立连接。"
如果有人对我的问题有任何疑问,请告诉我,我该怎样才能实现。
提前致谢: - )
答案 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'
)