Ilekroć definiuję atrybut depth
, pole klucza obcego z dokumentu dokowania w sekcji POST znika. Wydaje się to dziwne, ponieważ wymagałem depth = 1
, gdy chcę mieć powiązane dane w żądaniu . Nie mogę tego usunąć, aby uzyskać powiązany parametr pola w sekcji POST
.Klucz obcego pola znika w dokumentach przechwytujących po dodaniu atrybutu głębokości w Serializatorze
Oto przypadek.
Model:
from django.db import models
from django.conf import settings
# Create your models here.
User = settings.AUTH_USER_MODEL
class Todo(models.Model):
user = models.ForeignKey(User)
title = models.CharField("Title", max_length=255)
completed = models.BooleanField("Completed")
serializer bez depth =1
.
from rest_framework import serializers
from models import Todo
class TodoSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Todo
Teraz Jeśli dodać depth = 1
niż Swagger nie wyświetla dziedzinie pokrewnej.
Daj mi znać, jeśli ktoś ma jakiekolwiek wskazówki na ten temat.
Dzięki :)
Dzięki, Pozwól mi to sprawdzić i dam ci znać. – CrazyGeek
To nie działa, ponieważ daje ten błąd. '' '' 'ReplyField.to_representation() musi być zaimplementowana dla użytkownika pola.Jeśli nie potrzebujesz obsługiwać operacji zapisu, prawdopodobnie chcesz podklasować "ReadOnlyField" zamiast. – CrazyGeek
Nie chcę również zmieniać nazwy pól, ponieważ będą one używane w żądaniu POST. – CrazyGeek