Mah*_*arg 5 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 *Run Code Online (Sandbox Code Playgroud)
现在上面的链接有一条我没有得到的
"您需要强制创建每个产品的StockRecord.创建产品时,Stockrecord.partner设置为self.request.user.partner(必要时创建),因此建立连接."
如果有人对我的问题有任何了解,那么请告诉我,我怎样才能实现它.
提前致谢 :-)
这意味着每当您创建一个新的 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'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |