我正在试图弄清楚如何为备件应用建模数据库。
现在主要关注的是每个部分的数量。有些是碎片,米,Kg等。有些部分需要小数,有些则不应有小数。
这是我对基本模型的原始想法。
class Part(models.Model):
name = models.CharField(max_length=550)
class PartNumber(models.Model):
partnumber = models.CharField(max_length=50)
part = models.ManyToManyField(Part, related_name='partnumber')
class Unit(models.Model):
name = models.CharField(max_length=50)
si_unit = models.CharField(max_length=10)
class Stock(models.Model):
quantity = models.DecimalField(max_digits=10, decimal_places=2)
unit = models.ManyToManyField(Unit, related_name='unit')
part = models.ManyToManyField(Part, related_name='part')
问题是如何解决'股票'中的'数量'。有两个字段更好吗?这种感觉也不正确。
答案 0 :(得分:0)
我认为没有一个正确的解决方案,但我会给出2美分。
我会写一个名为quantity的模型:
class Quantity(models.Model):
quantity = models.DecimalField(max_digits=10, decimal_places=2)
unit = models.CharField(max_length=50)
如果您希望能够在他们的si_unit中显示内容,我会考虑为此编写单独的模型独立代码,或者使用诸如python-measurement之类的库
如果您希望查询需要规范化查询,那么您可以将2个字段si_quantity
和si_unit
添加到数量,这将在每个Quantity.save()上更新