Drf-сериализатор дочерней модели для вложенных ListAPIView и CreateAPIView
У меня есть эти модели
class myModel(models.Model):
username = models.CharField(max_length=150, unique=True)
o2=models.CharField(max_length=150, default='lllss')
class myModel2(models.Model):
owner=models.ForeignKey(myModel,on_delete=models.CASCADE)
o2=models.CharField(max_length=150, default='lllss2')
model2 имеет владельца myModel
и эти сериализаторы
class mySer(serializers.ModelSerializer):
class Meta:
model = my.myModel
fields = ['username', 'o2']
class mySer2(serializers.ModelSerializer):
class Meta:
model = my.myModel2
fields = ['owner', 'o2']
depth=1 # to have nested in listviews
заметка Я добавил depth=1
чтобы иметь вложенность в listviews
так с
from rest_framework import generics
class myView(generics.CreateAPIView):
queryset = my.myModel2.objects.all()
serializer_class = my2.mySer2
class myView2(generics.ListAPIView):
queryset = my.myModel2.objects.all()
serializer_class = my2.mySer2
Я могу получить вложенную информацию о владельце, но в CreateAPIView
нет выпадающего меню для owner
в HTML form
. Лучше сказать, ничто не позволяет нам отправить owner
.
но когда я удаляю depth=1
у меня нет этой проблемы, но я теряю вложенные представления.
Я мог бы создать 2 сериализатора, но есть ли способ сделать это в одном сериализаторе?