Как создать два объекта таблицы одним набором представлений django rest framework

Здравствуйте, я пытаюсь сохранить объекты в таблице reviews из таблицы posts, отфильтрованные по type="R"

Я думаю, что мне нужно переопределить def create, но я не знаю как. Пожалуйста, помогите мне, спасибо.

таблица моих сообщений enter image description here

таблица моих отзывов enter image description here

это моя модель поста

class Post(models.Model):
    """Model definition for Post."""

    class Meta:
        db_table = 'posts'
        verbose_name = 'Post'
        verbose_name_plural = 'Posts'

    POST_TYPE = (
        ('R', 'review'),
        ('C', 'clubpost'),
        ('A', 'advertisement'),
    )

    title = models.CharField(
        max_length=20,
        null=False,
        verbose_name='제목'
    )
    content = models.TextField(
        max_length=2000,
        null=False,
        verbose_name='내용'
    )
    author = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        null=False,
        verbose_name='글쓴이',
    )
    type = models.CharField(
        max_length=5,
        choices=POST_TYPE,
        null=True,
        verbose_name='글 종류',
    )
    created_at = models.DateTimeField(
        auto_now_add=True,
        verbose_name='생성 일시',
    )
    updated_at = models.DateTimeField(
        auto_now=True,
        verbose_name='수정 일시',
    )

обзорная модель

class Review(models.Model):
    class Meta:
        db_table = 'reviews'
        verbose_name = 'Review'
        verbose_name_plural = 'Reviews'

    post = models.OneToOneField(
        Post,
        on_delete=models.CASCADE,
        related_name="review",
    )

пост сериализатор

class PostSerializer(ModelSerializer):
    author = UserAbstractSerializer(read_only=True)

    class Meta:
        model = Post
        fields = [
            'id',
            'title',
            'content',
            'author',
            'type',
            'created_at',
            'updated_at'
        ]
        extra_kwargs = {
            'title': {
                'error_messages': {
                    'required': '제목을 입력해주세요.',
                }
            },
            'content': {
                'error_messages': {
                    'required': '내용을 입력해주세요.',
                }
            }
        }

обзор сериализатора

class ReviewSerializer(ModelSerializer):
    post_id = PostSerializer(read_only=True)

    class Meta:
        model = Post
        fields = [
            'id',
            'post_id',
        ]

обзор набора представлений

class ReviewViewSet(PostViewSet):
    queryset = Post.objects.filter(type="R"),
    serializer_class = ReviewSerializer

    def perform_create(self, serializer):
        return serializer.save(author=self.request.user, type="R")

Я думаю, что должен переопределить метод create в наборе просмотров, но не знаю, как написать

хочу разобраться как создать два объекта таблицы одним viewset django rest framework

Вернуться на верх