JRM*_*JRM 1 python django model
我需要一个代表风险评估的模型
我需要一个模型 RiskLine 来表示每行的 (18) 列
如何创建一个 django 模型,在创建每个 RiskAssessment 实例时在 RiskLine 模型中创建 50 行,并将它们分配给我的 RiskAssessment 模型?
它非常像一个始终有 50 行和 18 列的电子表格。
我可以在 Django 中对此进行建模吗?
当然可以。
首先创建两个模型,然后在 RiskAssessment 上应用信号save()
https://docs.djangoproject.com/en/1.9/ref/signals/#post-save
这是一个简单的例子:
from django.db.models.signals import post_save
from yourapp.models import RiskAssessment
from django.dispatch import receiver
class RiskAssessment(models.Model):
random_property = models.CharField(length=50)
def on_risk_assessment_save(sender, instance, **kwargs):
if kwargs['created']: # just on creation (not update)
for i in range(50): # create all risk lines (instance is the risk assessment parent)
rl = RiskLine()
rl.riskAssessment = instance
rl.property_a = 'value a'
rl.save()
post_save.connect(on_risk_assessment_save, sender=RiskAssessment) # links RiskAssessment saving with the function just above ^
class RiskLine(models.Model):
riskAssessment = models.ForeignKey(RiskAssessment)
property_a = models.CharField(length=50)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2666 次 |
| 最近记录: |