@kleryk

Как создать по этапное оформление Поста?

Есть модель:
В которой есть поле:
content = models.TextField(verbose_name='Описание идеи')

Вот поле контент хотелось бы разделить на Этапы
Этап 1
Этап 2
С кнопкой: Добавить этап.
Как правильно написать class в forms и views?
Может у кого то есть готовые решения или примеры?
Буду очень благодарен.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alekssamos
Программист любитель
А если создать отдельную модель (таблицу) под этапы? И их можно будет каждый по отдельности удалять, редактировать... Так ведь будет проще заполнять.
Ну типа в models.py:
from django.db import models

class Idea(models.Model):
    title = models.CharField(max_length=70, verbose_name="Название идеи")
    def __str__(self): return self.title

class Step(models.Model):
    content = models.TextField(verbose_name='Этап')
    idea = models.ForeignKey(Idea, related_name = "step", on_delete = models.CASCADE)
    def __str__(self): return self.content

И дальше во views.py: from myapp.models import Idea, Step
Первый раз создаёшь идею и пишешь первый шаг:
i1 = Idea.objects.create(title=request.POST["idea_title"])
i1.save()
s1 = i1.step.create(content=request.POST["step_content"])
s1.save()

Затем Типа если нажата кнопка Добавить или Далее, ну, например, if request.POST["next"]:, то делаешь:
the_idea = Idea.objects.get(pk=request.POST["idea_pk"])
new_step = the_idea.step.create(content=request.POST["step_content"])
new_step.save()

Не, так не сработает?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы