本文整理汇总了Python中shop.models.ordermodel.OrderItem类的典型用法代码示例。如果您正苦于以下问题:Python OrderItem类的具体用法?Python OrderItem怎么用?Python OrderItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OrderItem类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: ProductStatisticsTestCase
class ProductStatisticsTestCase(TestCase):
def setUp(self):
self.product = Product()
self.product.name = 'test'
self.product.unit_price = Decimal('1.0')
self.product.save()
self.product2 = Product()
self.product2.name = 'test2'
self.product2.unit_price = Decimal('1.0')
self.product2.save()
self.product3 = Product()
self.product3.name = 'test3'
self.product3.unit_price = Decimal('1.0')
self.product3.save()
self.order = Order()
self.order.order_subtotal = Decimal('10')
self.order.order_total = Decimal('10')
self.order.shipping_cost = Decimal('0')
self.order.shipping_name = 'toto'
self.order.shipping_address = 'address'
self.order.shipping_address2 = 'address2'
self.order.shipping_city = 'city'
self.order.shipping_zip_code = 'zip'
self.order.shipping_state = 'state'
self.order.shipping_country = 'country'
self.order.billing_name = 'toto'
self.order.billing_address = 'address'
self.order.billing_address2 = 'address2'
self.order.billing_city = 'city'
self.order.billing_zip_code = 'zip'
self.order.billing_state = 'state'
self.order.billing_country = 'country'
self.order.save()
self.orderitem1 = OrderItem()
self.orderitem1.order = self.order
self.orderitem1.product = self.product
self.orderitem1.quantity = 5 # this will be the most bought
self.orderitem1.save()
self.orderitem2 = OrderItem()
self.orderitem2.order = self.order
self.orderitem2.product = self.product2
self.orderitem2.quantity = 1 # this will be the second most
self.orderitem2.save()
def test_top_selling_works(self):
res = Product.statistics.top_selling_products(10)
self.assertNotEqual(res, None)
self.assertEqual(len(res), 2)
self.assertTrue(self.product3 not in res)
开发者ID:ojii,项目名称:django-shop,代码行数:57,代码来源:product.py
示例2: setUp
def setUp(self):
self.product = Product()
self.product.name = 'test'
self.product.unit_price = Decimal('1.0')
self.product.save()
self.product2 = Product()
self.product2.name = 'test2'
self.product2.unit_price = Decimal('1.0')
self.product2.save()
self.product3 = Product()
self.product3.name = 'test3'
self.product3.unit_price = Decimal('1.0')
self.product3.save()
self.order = Order()
self.order.order_subtotal = Decimal('10')
self.order.order_total = Decimal('10')
self.order.shipping_cost = Decimal('0')
self.order.shipping_name = 'toto'
self.order.shipping_address = 'address'
self.order.shipping_address2 = 'address2'
self.order.shipping_city = 'city'
self.order.shipping_zip_code = 'zip'
self.order.shipping_state = 'state'
self.order.shipping_country = 'country'
self.order.billing_name = 'toto'
self.order.billing_address = 'address'
self.order.billing_address2 = 'address2'
self.order.billing_city = 'city'
self.order.billing_zip_code = 'zip'
self.order.billing_state = 'state'
self.order.billing_country = 'country'
self.order.save()
self.orderitem1 = OrderItem()
self.orderitem1.order = self.order
self.orderitem1.product = self.product
self.orderitem1.quantity = 5 # this will be the most bought
self.orderitem1.save()
self.orderitem2 = OrderItem()
self.orderitem2.order = self.order
self.orderitem2.product = self.product2
self.orderitem2.quantity = 1 # this will be the second most
self.orderitem2.save()
开发者ID:ojii,项目名称:django-shop,代码行数:49,代码来源:product.py
示例3: setUp
def setUp(self):
self.product = Product()
self.product.name = 'test'
self.product.slug = 'test'
self.product.unit_price = Decimal('1.0')
self.product.save()
self.product2 = Product()
self.product2.name = 'test2'
self.product2.slug = 'test2'
self.product2.unit_price = Decimal('1.0')
self.product2.save()
self.product3 = Product()
self.product3.name = 'test3'
self.product3.slug = 'test3'
self.product3.unit_price = Decimal('1.0')
self.product3.save()
self.order = Order()
self.order.order_subtotal = Decimal('10')
self.order.order_total = Decimal('10')
self.order.shipping_cost = Decimal('0')
self.order.shipping_address_text = 'shipping address example'
self.order.billing_address_text = 'billing address example'
self.order.save()
self.orderitem1 = OrderItem()
self.orderitem1.order = self.order
self.orderitem1.product = self.product
self.orderitem1.quantity = 5 # this will be the most bought
self.orderitem1.save()
self.orderitem2 = OrderItem()
self.orderitem2.order = self.order
self.orderitem2.product = self.product2
self.orderitem2.quantity = 1 # this will be the second most
self.orderitem2.save()
开发者ID:alainwolf,项目名称:openbroadcast.org,代码行数:39,代码来源:product.py
示例4: create_from_cart
def create_from_cart(self, cart, request):
"""
This creates a new Order object (and all the rest) from a passed Cart
object.
Specifically, it creates an Order with corresponding OrderItems and
eventually corresponding ExtraPriceFields
This will only actually commit the transaction once the function exits
to minimize useless database access.
The `state` parameter is further passed to process_cart_item,
process_cart, and post_process_cart, so it can be used as a way to
store per-request arbitrary information.
Emits the ``processing`` signal.
"""
# must be imported here!
from shop.models.ordermodel import (
ExtraOrderItemPriceField,
ExtraOrderPriceField,
OrderItem,
)
from shop.models.cartmodel import CartItem
# First, let's remove old orders
self.remove_old_orders(cart)
# Create an empty order object
order = self.create_order_object(cart, request)
order.save()
# Let's serialize all the extra price arguments in DB
for field in cart.extra_price_fields:
eoi = ExtraOrderPriceField()
eoi.order = order
eoi.label = unicode(field[0])
eoi.value = field[1]
if len(field) == 3:
eoi.data = field[2]
eoi.save()
# There, now move on to the order items.
cart_items = CartItem.objects.filter(cart=cart)
for item in cart_items:
item.update(request)
order_item = OrderItem()
order_item.order = order
order_item.product_reference = item.product.get_product_reference()
order_item.product_name = item.product.get_name()
order_item.product = item.product
order_item.unit_price = item.product.get_price()
order_item.quantity = item.quantity
order_item.line_total = item.line_total
order_item.line_subtotal = item.line_subtotal
order_item.save()
# For each order item, we save the extra_price_fields to DB
for field in item.extra_price_fields:
eoi = ExtraOrderItemPriceField()
eoi.order_item = order_item
# Force unicode, in case it has àö...
eoi.label = unicode(field[0])
eoi.value = field[1]
if len(field) == 3:
eoi.data = field[2]
eoi.save()
processing.send(self.model, order=order, cart=cart)
return order
开发者ID:AirLee,项目名称:django-shop,代码行数:69,代码来源:managers.py
示例5: create_from_cart
def create_from_cart(self, cart):
"""
This creates a new Order object (and all the rest) from a passed Cart
object.
Specifically, it creates an Order with corresponding OrderItems and
eventually corresponding ExtraPriceFields
This will only actually commit the transaction once the function exits
to minimize useless database access.
"""
# must be imported here!
from shop.models.ordermodel import OrderItem, ExtraOrderPriceField, ExtraOrderItemPriceField
from shop.models.cartmodel import CartItem
# Let's create the Order itself:
o = self.model()
o.user = cart.user
o.status = self.model.PROCESSING # Processing
o.order_subtotal = cart.subtotal_price
o.order_total = cart.total_price
o.save()
# Let's serialize all the extra price arguments in DB
for label, value in cart.extra_price_fields:
eoi = ExtraOrderPriceField()
eoi.order = o
eoi.label = str(label)
eoi.value = value
eoi.save()
# There, now move on to the order items.
cart_items = CartItem.objects.filter(cart=cart)
for item in cart_items:
item.update()
i = OrderItem()
i.order = o
i.product_reference = item.product.id
i.product_name = item.product.name
i.product = item.product
i.unit_price = item.product.get_price()
i.quantity = item.quantity
i.line_total = item.line_total
i.line_subtotal = item.line_subtotal
i.save()
# For each order item, we save the extra_price_fields to DB
for label, value in item.extra_price_fields:
eoi = ExtraOrderItemPriceField()
eoi.order_item = i
eoi.label = str(label)
eoi.value = value
eoi.save()
return o
开发者ID:KristianOellegaard,项目名称:django-shop,代码行数:54,代码来源:managers.py
示例6: create_fixtures
def create_fixtures(self):
self.user = User.objects.create(username="test",
email="[email protected]",
first_name="Test",
last_name = "Toto")
self.user.save()
self.client = Client()
self.client.user = self.user
self.client.save()
self.country = Country.objects.create(name='CH')
self.address = Address()
self.address.client = self.client
self.address.address = 'address'
self.address.address2 = 'address2'
self.address.zip_code = '1234'
self.address.state = 'ZH'
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = Address()
self.address2.client = self.client
self.address2.address = '2address'
self.address2.address2 = '2address2'
self.address2.zip_code = '21234'
self.address2.state = '2ZH'
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal('100') # One item worth 100
self.order.order_total = Decimal('120') # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.shipping_name = "%s %s" %(self.address.client.user.first_name,
self.address.client.user.last_name)
self.order.shipping_address = ship_address.address
self.order.shipping_address2 = ship_address.address2
self.order.shipping_zip_code = ship_address.zip_code
self.order.shipping_state = ship_address.state
self.order.shipping_country = ship_address.country.name
self.order.shipping_name = "%s %s" %(self.address.client.user.first_name,
self.address.client.user.last_name)
self.order.billing_address = bill_address.address
self.order.billing_address2 = bill_address.address2
self.order.billing_zip_code = bill_address.zip_code
self.order.billing_state = bill_address.state
self.order.billing_country = bill_address.country.name
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_reference = 'fakeref'
self.orderitem.product_name = 'Test item'
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal('100')
self.orderitem.line_total = Decimal('110')
self.orderitem.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = 'Fake extra field'
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
开发者ID:MechanisM,项目名称:django-shop,代码行数:88,代码来源:payment.py
示例7: PayOnDeliveryTestCase
class PayOnDeliveryTestCase(TestCase):
def setUp(self):
self.user = User.objects.create(username="test",
email="[email protected]",
first_name="Test",
last_name = "Toto")
self.user.save()
self.country = Country.objects.create(name='CH')
self.address = Address()
self.address.client = self.client
self.address.address = 'address'
self.address.address2 = 'address2'
self.address.zip_code = '1234'
self.address.state = 'ZH'
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = Address()
self.address2.client = self.client
self.address2.address = '2address'
self.address2.address2 = '2address2'
self.address2.zip_code = '21234'
self.address2.state = '2ZH'
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal('100') # One item worth 100
self.order.order_total = Decimal('120') # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.shipping_name = "%s %s" %(self.user.first_name,
self.user.last_name)
self.order.shipping_address = ship_address.address
self.order.shipping_address2 = ship_address.address2
self.order.shipping_zip_code = ship_address.zip_code
self.order.shipping_state = ship_address.state
self.order.shipping_country = ship_address.country.name
self.order.shipping_name = "%s %s" %(self.user.first_name,
self.user.last_name)
self.order.billing_address = bill_address.address
self.order.billing_address2 = bill_address.address2
self.order.billing_zip_code = bill_address.zip_code
self.order.billing_state = bill_address.state
self.order.billing_country = bill_address.country.name
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_reference = 'fakeref'
self.orderitem.product_name = 'Test item'
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal('100')
self.orderitem.line_total = Decimal('110')
self.orderitem.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = 'Fake extra field'
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
def test_backend_returns_urls(self):
be = PayOnDeliveryBackend(shop=PaymentAPI())
urls = be.get_urls()
self.assertNotEqual(urls,None)
self.assertEqual(len(urls), 1)
开发者ID:RuuPiE,项目名称:django-shop,代码行数:92,代码来源:payment.py
示例8: PayOnDeliveryTestCase
class PayOnDeliveryTestCase(TestCase):
def setUp(self):
self.user = User.objects.create(username="test",
email="[email protected]",
first_name="Test",
last_name="Toto")
self.user.save()
self.country = Country.objects.create(name='CH')
self.address = Address()
self.address.client = self.client
self.address.address = 'address'
self.address.address2 = 'address2'
self.address.zip_code = '1234'
self.address.state = 'ZH'
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = Address()
self.address2.client = self.client
self.address2.address = '2address'
self.address2.address2 = '2address2'
self.address2.zip_code = '21234'
self.address2.state = '2ZH'
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal('100') # One item worth 100
self.order.order_total = Decimal('120') # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.set_shipping_address(ship_address)
self.order.set_billing_address(bill_address)
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_name = 'Test item'
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal('100')
self.orderitem.line_total = Decimal('110')
self.orderitem.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = 'Fake extra field'
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
def test01_backend_returns_urls(self):
be = PayOnDeliveryBackend(shop=PaymentAPI())
urls = be.get_urls()
self.assertNotEqual(urls, None)
self.assertEqual(len(urls), 1)
def test02_must_be_logged_in_if_setting_is_true(self):
with SettingsOverride(SHOP_FORCE_LOGIN=True):
resp = self.client.get(reverse('shop:pay-on-delivery'))
self.assertEqual(resp.status_code, 302)
self.assertTrue('accounts/login/' in resp._headers['location'][1])
def test_order_required_before_payment(self):
""" See issue #84 """
# Session only (no order)
response = self.client.get(reverse('shop:pay-on-delivery'))
self.assertEqual(302, response.status_code)
self.assertEqual('http://testserver/shop/cart/', response._headers['location'][1])
# User logged in (no order)
username = 'user'
pw = 'pass'
User.objects.create_user(username=username, password=pw, email='[email protected]')
logged_in = self.client.login(username=username, password=pw)
self.assertTrue(logged_in)
response = self.client.get(reverse('shop:pay-on-delivery'))
self.assertEqual(302, response.status_code)
self.assertEqual('http://testserver/shop/cart/', response._headers['location'][1])
self.client.logout()
# User logged in and has order
#.........这里部分代码省略.........
开发者ID:berrym72,项目名称:django-shop,代码行数:101,代码来源:payment.py
示例9: setUp
def setUp(self):
self.user = User.objects.create(
username="test",
email="[email protected]",
first_name="Test",
last_name="User")
self.shop = PaymentAPI()
self.backend = GenericPayerBackend(shop=self.shop)
class Mock(object):
pass
self.request = Mock()
setattr(self.request, 'user', self.user)
self.user.save()
self.country = Country.objects.create(name='CH')
self.address = AddressModel()
self.address.client = self.client
self.address.address = 'address'
self.address.address2 = 'address2'
self.address.zip_code = '1234'
self.address.state = 'ZH'
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = AddressModel()
self.address2.client = self.client
self.address2.address = '2address'
self.address2.address2 = '2address2'
self.address2.zip_code = '21234'
self.address2.state = '2ZH'
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal('100') # One item worth 100
self.order.order_total = Decimal('120') # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.set_shipping_address(ship_address)
self.order.set_billing_address(bill_address)
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_name = 'Test item'
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal('100')
self.orderitem.line_total = Decimal('110')
self.orderitem.save()
oi = OrderExtraInfo()
oi.order = self.order
oi.text = "buffalo " * 64
oi.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = 'Fake extra field'
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
开发者ID:hnejadi,项目名称:django-shop-payer-backend,代码行数:82,代码来源:tests.py
示例10: PayOnDeliveryTestCase
class PayOnDeliveryTestCase(TestCase):
def setUp(self):
self.user = User.objects.create(username="test",
email="[email protected]",
first_name="Test",
last_name="Toto")
self.user.save()
self.country = Country.objects.create(name='CH')
self.address = Address()
self.address.client = self.client
self.address.address = 'address'
self.address.address2 = 'address2'
self.address.zip_code = '1234'
self.address.state = 'ZH'
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = Address()
self.address2.client = self.client
self.address2.address = '2address'
self.address2.address2 = '2address2'
self.address2.zip_code = '21234'
self.address2.state = '2ZH'
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal('100') # One item worth 100
self.order.order_total = Decimal('120') # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.set_shipping_address(ship_address)
self.order.set_billing_address(bill_address)
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_name = 'Test item'
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal('100')
self.orderitem.line_total = Decimal('110')
self.orderitem.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = 'Fake extra field'
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
def test01_backend_returns_urls(self):
be = PayOnDeliveryBackend(shop=PaymentAPI())
urls = be.get_urls()
self.assertNotEqual(urls, None)
self.assertEqual(len(urls), 1)
def test02_must_be_logged_in_if_setting_is_true(self):
with SettingsOverride(SHOP_FORCE_LOGIN=True):
resp = self.client.get(reverse('pay-on-delivery'))
self.assertEqual(resp.status_code, 302)
self.assertTrue('accounts/login/' in resp._headers['location'][1])
开发者ID:Fandekasp,项目名称:django-shop,代码行数:80,代码来源:payment.py
示例11: setUp
def setUp(self):
self.user = User.objects.create(username="test", email="[email protected]", first_name="Test", last_name="Toto")
self.user.save()
self.country = Country.objects.create(name="CH")
self.address = Address()
self.address.client = self.client
self.address.address = "address"
self.address.address2 = "address2"
self.address.zip_code = "1234"
self.address.state = "ZH"
self.address.country = self.country
self.address.is_billing = False
self.address.is_shipping = True
self.address.save()
self.address2 = Address()
self.address2.client = self.client
self.address2.address = "2address"
self.address2.address2 = "2address2"
self.address2.zip_code = "21234"
self.address2.state = "2ZH"
self.address2.country = self.country
self.address2.is_billing = True
self.address2.is_shipping = False
self.address2.save()
# The order fixture
self.order = Order()
self.order.user = self.user
self.order.order_subtotal = Decimal("100") # One item worth 100
self.order.order_total = Decimal("120") # plus a test field worth 10
self.order.status = Order.PROCESSING
ship_address = self.address
bill_address = self.address2
self.order.set_shipping_address(ship_address)
self.order.set_billing_address(bill_address)
self.order.save()
# Orderitems
self.orderitem = OrderItem()
self.orderitem.order = self.order
self.orderitem.product_name = "Test item"
self.orderitem.unit_price = Decimal("100")
self.orderitem.quantity = 1
self.orderitem.line_subtotal = Decimal("100")
self.orderitem.line_total = Decimal("110")
self.orderitem.save()
eoif = ExtraOrderItemPriceField()
eoif.order_item = self.orderitem
eoif.label = "Fake extra field"
eoif.value = Decimal("10")
eoif.save()
eof = ExtraOrderPriceField()
eof.order = self.order
eof.label = "Fake Taxes"
eof.value = Decimal("10")
eof.save()
开发者ID:KristianOellegaard,项目名称:django-shop,代码行数:65,代码来源:payment.py
注:本文中的shop.models.ordermodel.OrderItem类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论