Django, создать таблицу или страницу только для того, чтобы объединить все остальные таблицы в одну и показать ее. возможно ли это?

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

Во-первых, некоторые улучшения в вашей модели ответа:

class Answer(models.Model): # Django models should be singular, not plural
    question = models.ForeignKey(Question, ... # many-to-one relation to Question
    point = models.ForeignKey(Points, # should be 'Point' not 'Points'
    text = models.TextField(... # lower case and shouldn't clash with model name, imo
    rate = models.TextField(... # lower case
    date = models.TextField(... # ...

    ...

Установите отношение внешнего ключа к вашему вопросу - таким образом вы можете иметь несколько ответов на один вопрос или только один.

Если вы хотите получить "таблицу" вопросов и ответов, вы можете сделать это в представлениях или шаблонах:

questions = Question.objects.all()

for question in questions:
    answers = question.answer_set.all() # get all answers 

    for answer in answers:
        # do stuff
{% for question in questions %}
    {{ question }}
    {% for answer in question.answer_set.all %}
        {{ answer }}
    {% endfor %}
{% endfor %}
Вернуться на верх