Ogni volta che definisco l'attributo depth
, il campo chiave esterna dei documenti swagger nella sezione POST scompare. Sembra strano perché ho richiesto depth = 1
quando desidero dati correlati nella mia richiesta GET
. Quindi non posso rimuovere questo per ottenere questo parametro di campo relativo nella sezione POST
.Il campo chiave esterna scompare nei documenti swagger dopo l'aggiunta dell'attributo depth in Serializer
Ecco il caso.
Modello:
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 senza depth =1
.
from rest_framework import serializers
from models import Todo
class TodoSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Todo
Ora Se aggiungo depth = 1
di Swagger non visualizza campo correlati.
Fammi sapere se qualcuno ha qualche idea su questo.
Grazie :)
Grazie, fammi controllare e ti faccio sapere. – CrazyGeek
Questo non funziona perché si sta dando questo errore 'RelatedField.to_representation() deve essere implementato per l'utente sul campo.Se non è necessario supportare le operazioni di scrittura, si consiglia di sottoclasse 'ReadOnlyField'.' – CrazyGeek
Non voglio modificare il nome del campo perché verrà usato nella richiesta POST. – CrazyGeek