我是新Django的奥斯卡和我需要管理多个卖家,他们可以增加他们的产品,并可以查看即。他们可以有自己的仪表板,我按照这个网址
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(必要时创建),因此在建立连接。”
如果有人对我的问题的任何想法,那么请让我知道,我怎么能实现它。
提前致谢 :-)
这意味着,只要您创建一个新的产品对象,你需要为它创建一个新的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'
)