В каком файле я должен определить свою ModelForm, которую я создаю для модели? - PullRequest
0 голосов
/ 10 июня 2019

Я создал модель в своем /models.py, код которой показан ниже.Я пытаюсь определить ModelForm для моего класса модели вопросов.В каком файле я должен определить свой класс ModelForm для него?

class Question(models.Model):
    """ Defines logical structure of question object. """
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField()

    def __str__(self):
        return self.question_text

Ответы [ 3 ]

1 голос
/ 10 июня 2019

Создав в вашем файле файл forms.py, добавьте следующие коды

from django import forms

class QuestionForm(forms.ModelForm):
  class Meta:
    model = Question
    fields = '__all__'
0 голосов
/ 10 июня 2019

У вас есть несколько вариантов:

  1. Как уже упоминалось, вы можете создать файл forms.py, содержащий все ваши формы.
  2. В больших проектах вы 'Обычно у вас будет каталог models/ и forms/.В первом случае у вас может быть question_model.py, а во втором - question_form.py.
  3. Некоторые люди предпочитают поместить модель и ее форму в один файл.

Если вы только начинаете, то я думаю, что вариант 1 имеет больше смысла. Здесь - документы для построения формы.

0 голосов
/ 10 июня 2019

Следуйте этой схеме.

  1. DJango создает различные файлы при создании проекта и приложения. (например, Models.py, Admin.py и т. д.), но некоторые файлы, которые он не создает, относятся к конкретным приложениям, например, urls.py и forms.py.

  2. Чтобы получить эти файлы, вы должны вручную создать их в приложении , в котором вы хотите их получить, просто щелкнув правой кнопкой мыши по каталогу app и создав новый файл с именем forms.py или urls.py .

  3. Remeber Django и python чувствительны к регистру, поэтому обязательно вводите правильные имена и интервал имен.

...