【发布时间】:2015-02-03 19:47:03
【问题描述】:
我在做一些模型,在设计它们时有一个想法,这里有一个例子:一家银行购买股票,因此一家银行可以拥有许多股票,并且可以从许多银行购买许多股票,它是多对多关系,但是当银行购买股票时,它必须记录价格和购买的日期/期间/轮次,出售的工作方式相同,o 为了记录我做的所有事情像这样:
class Bank(models.Model):
name = models.Charfield()
money = models.IntegerField()
class StockShares(models.Model):
name = models.Charfield()
price = models.Charfield()
现在要建立关系,我知道我必须添加
stock = models.ManyToManyField(StockShares)
但是我如何添加仅在购买或销售发生时才存在的关系属性?
我在想也许我可以做这样的事情:
class Bank(models.Model):
name = models.Charfield()
money = models.IntegerField()
class StockShares(models.Model):
name = models.Charfield()
price = models.Charfield()
class Sale(models.Model):
bank = models.ForeignKey(Bank)
stockshares = models.ForeignKey(StockShares)
date = models.DateField()
quantity = models.ForeignKey()##this should be the quantity of stockshares sold in $ im just lazy to write it down
这就是我在不使用 django 和在数据库管理器中正常使用的方法
有没有办法在 django 中解决这个问题,而不需要做一个中间类来处理这种关系?或者我的想法很好,这就是在 django 中必须做的事情
pd:英语不是我的第一语言,我在这里尽我所能
提前感谢您的回答!
【问题讨论】:
标签: python django database models