python-3.x - 如何根据 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 的,而是所有股票的价格值,用户可以从中选择哪个是错误的。我想根据用户股票名称设置价格值进行买卖。
如何做到这一点?
解决方案
贸易类(models.Model):
stock_model_obj = models.IntegerField(空白=假,可编辑=真)
然后您可以轻松地轻松轻松地所有库存对象字段。
假设实例是贸易模型的 obj,那么您可以直接使用 instance.stock_model_obj.price 或 instance.stock_model_obj.whatever_field_of_Stock
PS如果股票模型有其他外键,你也可以使用进一步的连接
快乐编码
推荐阅读
- javascript - WebRTC 的 Youtube 直播 API
- typescript - 联合中不存在 Typescript 属性
- javascript - p5 js 输入在移动设备上不起作用
- matlab - 如何在MATLAB中找到字符实体
- java - Spark Streaming 在应用程序 UI 上不显示任何记录
- xcode - 是否有使用 IDEA 的 VLOOKUP 功能?
- json - 如何完全按照 Wireshark 将其显示为 JSON 的方式保存数据包列表?
- highcharts - Highchart 热图分组类别插件样式问题
- python - Python数据框 - 比较两个数据框之间的行
- css - 如何评估 CSS 网格中大网格区域之外的一行的最大内容和最小内容?