@rodger.botsford
Для записи данных в базу данных PostgreSQL с использованием Django Rest Framework в Django следуйте этим шагам:
- Обновите настройки проекта в файле settings.py, чтобы подключить PostgreSQL базу данных.
1
2
3
4
5
6
7
8
9
10
|
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'your_database_name',
'USER': 'your_database_user',
'PASSWORD': 'your_database_password',
'HOST': 'localhost',
'PORT': '',
}
}
|
- Создайте модель данных для таблицы, в которой нужно сохранить данные. Например, для создания модели "Book":
1
2
3
4
5
6
|
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publish_date = models.DateField()
|
- Создайте сериализатор для модели данных, чтобы определить, какие поля данных должны быть включены в ответ API. Например, для сериализации модели "Book":
1
2
3
4
5
6
7
|
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
|
- Создайте представление, которое будет обрабатывать запросы и записывать данные в базу данных. Например, для представления "BookView":
1
2
3
4
5
6
7
|
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookView(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
|
- Добавьте URL-маршруты для представления в файле urls.py, чтобы связать представление с определенными URL-адресами. Например:
1
2
3
4
5
6
7
8
9
10
|
from django.urls import include, path
from rest_framework import routers
from .views import BookView
router = routers.DefaultRouter()
router.register(r'books', BookView)
urlpatterns = [
path('api/', include(router.urls)),
]
|
Теперь вы можете отправлять POST-запросы на /api/books, чтобы записать данные в базу данных PostgreSQL с использованием Django Rest Framework.