Можно ли разделить одно поле модели m2m Django на несколько полей сериализатора DRF?
Рассмотрим следующий код:
models.py:
class Author(models.Model):
name = models.CharField()
class BookQuerySet(models.QuerySet):
def good(self):
return self.filter(is_good=True)
def bad(self):
return self.filter(is_good=False)
class Book(models.Model):
objects = BookQuerySet.as_manager()
title = models.CharField()
author = models.ForeignKey(Author, related_name="books")
is_good = models.BooleanField(default=False)
serializers.py:
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ["title"]
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = ["name", "books"]
books = BookSerializer(many=True)
Есть ли у меня способ на самом деле сериализовать «книги» как good_books
и bad_books
, но все же они должны отображаться в отдельные поля books
в модели Author
?
Имейте в виду, что они должны быть записываемыми вложенными сериализаторами.