gpt4 book ai didi

python - Django 关于对象保存事件

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:48 25 4
gpt4 key购买 nike

我需要一个模型 RiskAssessment 代表

  1. 姓名和其他一些东西...
  2. 用于 50 行条目的 RiskLine 模型的字段/链接

我需要一个模型 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)

关于python - Django 关于对象保存事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com