Как передать значение из одного класса моделей Django в другой? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь получить имя таблицы, которую мне нужно загрузить, и получить поля из этой таблицы в моей следующей форме. Для того, чтобы получить поля, я должен сначала передать имя таблицы, которую я хочу загрузить, а затем он загружает данные из этого поля. Но я не знаю, как это работает.

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 голосов
/ 15 октября 2019

Я думаю, вам нужно немного больше изучить Django.

Обычный подход заключается в передаче идентификатора или другой уникальной идентификации через URL-адрес и использовании связей в базе данных для связывания таблиц. Так, например, у вас может быть одна таблица Survey с, каждая из которых имеет Question с, связанные с ней как с внешними ключами (поэтому любой опрос может получить доступ к своим вопросам как question_set по умолчанию). В свою очередь каждый вопрос будет иметь Answer элементов, связанных с ним, и элементы Answer могут также ссылаться на зарегистрированного пользователя User, который их предоставил.

В любом случае, вы можете иметь в качестве URL что-то вродеsurveys/analyze/329 и URLconf для представления анализа будет анализировать 329, который будет идентификатором объекта Survey. Затем вы можете перебирать все его вопросы и в каждой итерации получать все ответы на этот вопрос.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...