python - Django 为字段设置公式
问题描述
我想在模型中设置字段的手动算术公式,公式从模型的对象到对象的变化,并由一些超级用户设置,并根据外国模型名称进行设置。
class Strategy(models.Model):
name = models.CharField(max_length=30, unique=True)
class Line(models.Model):
strategy = models.ForeignKey(Strategy,on_delete=models.CASCADE)
startvalue = models.FloatField(default=0)
endvalue = models.FloatField(null=True,blank=True)
target = models.FloatField(default=0)
alpha = models.FloatField(default=0)
所以,这里会有很多策略,对于每个策略,我希望超级用户根据起始值、结束值、目标映射一个算术公式,会有很多策略,因此有很多 alpha 公式
例如,如果一个策略是
s1 然后 alpha = 100*(startvalue+endvalue*target)
s2 然后 alpha = startvalue-endvalue*target
像这样,超级用户需要通过GUI为策略设置 alpha 公式,以便所有具有该策略的行都有该 alpha 公式。
如何实施?请帮帮我,我被困在这里超过两天了。
解决方案
您可以为 ModelAdmin 添加自定义表单: https ://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.form
然后覆盖clean
表单中的方法以检查策略字段并设置 alpha:
推荐阅读
- sql - Spark SQL query failing for Postgres database
- wordpress - WP_Query 按 postmeta 值的总和排序
- python - 如何通过 dot 使用 pydantic json 字段
- javascript - 无法使用 getRange 和 setValue 更改 Google 表格第一列之外的单元格
- excel - Excel 上的币安 API
- java - 如何在java中使用流检查流是否有大写,小写和数字
- sql - 每年犯罪率排名前 N 的城市
- reactjs - 禁用 Next.JS 文件系统路由的特定路径
- javascript - 如何使用相同的js函数处理多个文件上传 - jquery
- php - 在控制器中为 Model::create 之外的模型实例赋值