【问题标题】:Manage multiple dealers in django oscar在 django oscar 中管理多个经销商
【发布时间】:2016-07-01 23:26:07
【问题描述】:

我是新的 django-oscar,我需要管理多个卖家,他们可以添加他们的产品并可以查看 ie。他们可以有自己的仪表板,我关注这个 url

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】:

这意味着每当您创建一个新的 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'
)

【讨论】:

    猜你喜欢
    • 2016-08-23
    • 2018-02-08
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    相关资源
    最近更新 更多