如何解决如何基于Django Python中的一个字段值设置另一个字段的值
我有两种股票和贸易模型。
class Stock(models.Model):
name = models.CharField(max_length=15,blank=False,primary_key=True)
price = models.IntegerField(blank=False,editable=True)
class Trade(models.Model):
id = models.AutoField(primary_key=True,auto_created=True,editable=False,)
name = models.ManyToManyField(Stock,related_name='stock_name')
trade_choice = [
(1,'BUY'),(0,'SELL')
]
type = models.CharField(choices=trade_choice,default='BUY',max_length=5)
quantity = models.IntegerField(blank=False,)
price = models.ForeignKey(Stock,on_delete=models.CASCADE,related_name='stock_price')
Trade.price作为外键的问题在于,当用户选择Trade.name作为“ APPLE”来购买价格时,该价格将不是APPLE,而是用户可以选择的所有股票的价格值。错误。我想根据要买卖的用户股票名称设置价格值。
如何实现?
解决方法
Class Trade(models.Model):
stock_model_obj = models.IntegerField(blank = False,editable = True)
然后您可以轻松地轻松访问stock obj的所有字段。
假设实例是交易模型的obj,则可以直接使用instance.stock_model_obj.price或instance.stock_model_obj.whatever_field_of_Stock
P.S。如果股票模型具有其他外键,还可以使用其他联接
快乐编码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。