【发布时间】:2015-03-13 20:05:09
【问题描述】:
一家派对公司出租椅子、桌子和帐篷。这些都有固定的价格,但如果将物品装在一个包装中(例如包装 A 包括:一个 18x30 帐篷、72 把椅子和 12 张桌子),则可以节省费用。我正在处理三个不同的包:a、b 和 c。到目前为止,我的模型如下。
from django.db import models
from django.contrib.auth.models import User
class Item(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(decimal_places=2, max_digits=5)
class ItemInventory(models.Model):
item = models.ForeignKey(Item)
quantity = models.PositiveIntegerField()
class Order(models.Model):
user = models.ForeignKey(User)
items = models.ManyToManyField(Item)
total = models.DecimalField(decimal_place=2, max_digits=5)
因此,Item 可以是椅子、桌子、30x40 帐篷等,这些物品与 ItemInventory 相关联,以计算剩余的出租数量。 Order 可以包含任意数量的任何 Item。 Order.total 将合计为每个(Order.items.price x 数量)。
问题 1,我如何在 Order 中包含每个 Item 的数量?
问题 2,我应该为包创建模型还是在视图中包含包逻辑?
【问题讨论】:
标签: django model relational-database inventory