如何将值从一类Django模型传递给另一类?

时间:2019-10-15 07:11:34

标签: django django-models django-forms

我试图获取要下载的表的名称,并以下一种形式从该表中获取字段。为了获取字段,我必须首先传递要下载的表的名称,然后从该字段加载数据。但是我不知道那是怎么回事。

from django.db import models
from multiselectfield import MultiSelectField
from survey_a0 import details, analysis                                                                              
#Backend coding module
import ast

class HomeForm3(models.Model):

    Survey= models.CharField(choices=[('A','A'), ('B','B')],default='A')

    def __str__(self):
        return self.title

class HomeForm1(models.Model):

    details.loadData(Survey)#<===== *** I need to pass the variable from above here ***
    global f1
    f1=analysis.getQuestion(in_json=False)  
    d=list(f1.keys())

    for k in d:
        q=list(f1[k].keys())
        q.sort()
        choices=tuple(map(lambda f: (f,f),q))
        locals()[k]=MultiSelectField(max_length=1000,choices=choices,blank=True)


    def __str__(self):
        return self.title

1 个答案:

答案 0 :(得分:0)

我认为您需要再学习Django。

通常的方法是通过URL传递ID或其他唯一标识,并使用数据库中的关系将表绑定在一起。因此,例如,您可能有一个Survey表,每个表都将Question链接为外键(因此任何调查默认情况下都可以question_set的形式访问其问题) 。反过来,每个问题将具有Answer个项目链接,并且Answer个项目也可能链接到提供了问题的登录User

无论如何,您可能会使用surveys/analyze/329之类的URL,并且analysis视图的URLconf将解析出329,这将是Survey对象的ID。然后,您可以遍历所有问题,并在每次迭代中检索该问题的所有答案。

希望这会有所帮助。