Создание записей Django без forms.py?

В Django можно создавать записи (объекты моделей) без использования файла forms.py. Вместо этого можно использовать методы и функции, предоставляемые Django, для создания объектов и сохранения их в базе данных.

Прежде всего, убедитесь, что у вас есть модель, которая описывает структуру данных, которую вы хотите создать. Модель создается в файле models.py вашего Django-приложения. Затем вы можете использовать следующие шаги для создания записей в Django без forms.py:

1. Импортируйте модель из models.py, чтобы иметь доступ к ней в вашем представлении:

from .models import MyModel

2. В вашем представлении, в функции или методе класса, создайте экземпляр модели и установите необходимые значения полей:

my_model = MyModel()
my_model.field1 = 'Value 1'
my_model.field2 = 'Value 2'

3. Вызовите метод save() экземпляра модели, чтобы сохранить его в базе данных:

my_model.save()

Метод save() выполняет INSERT-запрос в базу данных, сохраняя новую запись.

4. Если вы хотите добавить связи или отношения к другим моделям, можно использовать методы, предоставляемые Django для этого. Например, если у вас есть поле ForeignKey, вы можете установить связи с другим объектом модели:

related_model = RelatedModel.objects.get(id=1)
my_model.related_field = related_model

В этом примере мы получаем существующий объект связанной модели с помощью метода get(), а затем устанавливаем его в поле связей объекта my_model.

Обратите внимание, что если поле связи объекта (например, ForeignKey или ManyToManyField) имеет атрибут null=True, вы также можете просто присвоить значение None полю объекта, чтобы создать запись без связи.

5. Наконец, после установки всех значений и связей, вызовите метод save() для сохранения изменений в базе данных:

my_model.save()

Таким образом, можно создать записи Django без использования forms.py. Этот подход может быть полезен, если у вас нет сложной логики форм или если вы хотите упростить процесс создания объектов моделей. Однако обратите внимание, что использование форм может быть более гибким и обеспечивать дополнительную проверку данных перед сохранением и другие функции.