Как передать модель со всеми полями в foreignkey django
У меня есть модели и сериализатор.
class Base:
class Author(models.Model):
first_name = models.CharField(max_length=50, unique=True)
last_name = models.CharField(max_length=100, unique=True)
def __str__(self):
return f'{self.first_name} {self.last_name}'
class Category(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return f'{self.title}'
class Tag(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return f'{self.title}'
class State(models.Model):
title = models.CharField(max_length=100, blank=True)
summary = models.CharField(max_length=300)
content = models.TextField()
author = models.ForeignKey(Base.Author,
on_delete=models.CASCADE)
category = models.ForeignKey(Base.Category, on_delete=models.CASCADE)
tag = models.ManyToManyField(Base.Tag)
date_ = str(datetime.datetime.today())
date = models.DateTimeField(default=date_, blank=True, null=True)
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Base.Author
fields = ['id', 'first_name', 'last_name']
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Base.Category
fields = ['id', 'title']
class TagSerializer(serializers.ModelSerializer):
class Meta:
model = Base.Tag
fields = ['id', 'title']
class StateSerializer(serializers.ModelSerializer):
date = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S', required=False)
# author = AuthorSerializer(Base.Author.objects.all())
# category = CategorySerializer(Base.Category.objects.all())
# tag = TagSerializer(Base.Tag.objects.all())
class Meta:
model = State
fields = ['id', 'title', 'summary', 'content', 'author', 'category', 'tag', 'date']
Я хочу чтобы в базе были все поля автора, категории и тегов. Например:
Получается так:
А я хочу так:
В пост хочу указывать только ID поля и получалось чтобы как на 2м изображении Если в StateSerializator уберу знак комментария то при запросе пост требует кроме id поля ещё и все остальные поля модели.