1

我正在尝试在 Django 应用程序中制作一个小型库存应用程序。我希望能够看到手头的库存,它在哪里(在两个地方之间和一起),购买以增加库存,并出售以减少库存。跟踪销售会很好。总而言之,我想做大约五件事。为了跟踪位置,我想将仓库 1 列为 1,将仓库 2 列为 2,并且可以查询 WHERE 字段 = 1,但如果我在两个地方有相同的产品,我会遇到问题。我也不知道处理它的最佳方法。阅读这里的帖子,我看到有些人说只跟踪销售,并将它们汇总在一个平面数据库中,其他人从数据库中删除,但这会导致差异。到目前为止,这是我的model.py,只是在这里真正刺入黑暗,寻找一些指导。

from django.db import models

class Product(models.Model):
    product_ID = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100)
    type = (
        ('WHT' , 'White Wine'),
        ('RED' , 'Red Wine'),
        ('SPRT', 'Spirits'),
        ('BR'  , 'Beer'),
    )
    size = (
        ('12' , '12oz'),
        ('16'  , '16oz'),
        ('375' , '375mL'),
        ('750' , '750mL'),
        ('1' , '1L'),
    )
    amount_per_case = models.IntegerField()
    warehouse = (
            (1 , 'One'),
            (2 , 'Two'),
    )
    on_hand = models.IntegerField() 

class Store(models.Model):
    store_ID = models.IntegerField(primary_key=True)
    store_name = models.CharField()
    store_type = (
            ('Supermarket', 'Supermarket'),
            ('Liquor Store', 'Liquor Store'),
    )
    store_address = models.CharField()
    store_phone = models.CharField()
    store_contact = models.CharField()

class Vendor(models.Model):
    vendor_ID = models.IntegerField(primary_key=True)
    vendor_name = models.CharField()
    vendor_address = models.CharField()
    vendor_phone = models.CharField()
    vendor_contact = models.CharField()

class Sale(models.Model):
    sale_date = models.DateField()
    sale_product = models.ForeignKey(Product)
4

1 回答 1

1

您应该创建一个 Warehouse 模型并在 Product 和 Warehouse 之间创建多对多关系,使用through选项指定另一个模型来保存称为 WarehouseProduct 之类的关系详细信息,您可以在其中存储计数。请参阅文档的这一部分和以下部分。

PS 您可以做很多相同的事情来将销售与特定商店相关联,在我看来,这也是您可能感兴趣的事情。

于 2012-12-08T06:44:09.187 回答