2015-03-25 34 views
11

Ho un modello che utilizza un campo di scelte Django, in questo modo:scelte modello enumerazione in un serializzatore Django Resto quadro

class Question(models.Model): 
QUESTION_TYPES = (
    (10,'Blurb'), 
    (20,'Group Header'), 
    (21,'Group Footer'), 
    (30,'Sub-Group Header'), 
    (31,'Sub-Group Footer'), 
    (50,'Save Button'), 
    (100,'Standard Question'), 
    (105,'Text-Area Question'), 
    (110,'Multiple-Choice Question'), 
    (120,'Standard Sub-Question'), 
    (130,'Multiple-Choice Sub-Question') 
) 
type = models.IntegerField(default=100,choices=QUESTION_TYPES) 

sto usando Django Resto quadro di presentare questo modello come un'API per un angolare app web Nella mia app web Angolare, voglio un widget casella combinata che si abbassi con tutte quelle scelte. Non i numeri interi, ma le scelte di testo, come "blurb", "domanda standard" e così via.

Ora, potrei digitare il codice della casella combinata nell'app Angular, ma nello spirito di DRY, è possibile scrivere un serializzatore DRF che restituisce solo tali scelte (cioè l'oggetto QUESTION_TYPES), quindi posso popolare il casella combinata con una query ReST?

E da "possibile", suppongo intendo "semplice ed elegante". E forse intendo anche "RESTful". (È utile farlo in questo modo?)

Solo chiedendo. . .

Grazie

John

+1

esporre ciò modello attraverso un URL. Nel tuo controller AngularJS fai un '$ http.get()' per recuperare tutti i valori. Attacca quei valori sulla variabile '$ scope' (chiamala' pippo'). Quindi fai riferimento a 'foo' come a un attributo' ng-options' del tuo elemento '