管理在Django奥斯卡多个经销商

问题描述 投票:5回答:1

我是新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(必要时创建),因此在建立连接。”

如果有人对我的问题的任何想法,那么请让我知道,我怎么能实现它。

提前致谢 :-)

python django django-oscar
1个回答
0
投票

这意味着,只要您创建一个新的产品对象,你需要为它创建一个新的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'
)
© www.soinside.com 2019 - 2024. All rights reserved.