createview中的多个模型

时间:2017-03-05 03:01:37

标签: django django-models django-forms django-views

我在使用form_valid在提交数据库之前运行一些数据方程式。我的一个等式需要来自与CreateView基于的模型不同的模型的数据。有没有办法从与CreateView基于的模型不同的模型中提取数据?

Model One(在CreateView中引用):

class Plan(models.Model):
    field = models.FloatField()
    growth_percent = models.FloatField()

模型二(它拥有另一个具有我需要的另一个参数的字段):

class Data(models.Model):
    another_arg = models.FloatField()

在这里,我想抓住另一个' another_arg'从第二个模型中将其作为参数传递给函数。 Views.py中的CreateView:

class PlanCreateView(generic.CreateView):
    model = models.Plan
    fields = ['field']

    def form_valid(self, **kwargs):
       self.object = form.save(commit=False)
       form.instance.growth_percent = get_growth_by_percent(form.instance.field, another_arg)
       self.object.save()

grow_percent在services.py文件中引用的函数:

def get_growth_by_percent(arg1, arg2):
    growth_percent = arg1 * arg2
    return growth_percent_calc

我这样做了吗?

0 个答案:

没有答案