Sto eseguendo una convalida personalizzata a livello di campo nel mio serializzatore che richiede di fare riferimento a un altro campo.Framework di Django REST: Qual è veramente la differenza tra validate_ <fieldname> e convalidare?
Guardando gli esempi nello Validation documentation, non sono chiaro se dovrei usare validate_<fieldname>
o validate
. Sembra che entrambi abbiano il dizionario attrs
, quindi da validate_<fieldname>
posso facilmente fare riferimento a un altro campo come da validate
(anche se la descrizione per validate
indica che dovresti usarla per accedere a più campi). Allora perché ci sono entrambe le opzioni? Nel mio caso, quale opzione è corretta da usare?
Neil - 'attrs' è l'input per il serializzatore come dizionario prima che sia stato convalidato e ripristinato in un'istanza di oggetto completa. In cima alla mia testa, immagino che potrebbe avere a che fare con alcuni degli input già convalidati nel momento in cui si sta accedendo ad esso. –
Grazie a @Tom. C'è un modo per passare parametri aggiuntivi a validate_foo, come ad esempio l'id dell'oggetto? – Neil
Se si tratta di un aggiornamento, 'self.object' contiene un riferimento all'istanza. –