Ho due modelli, uno con relazione M2M e un nome correlato. Voglio includere tutti i campi nel serializzatore e il campo correlato.Framework Django Rest, come includere i campi "__all__" e un campo correlato in ModelSerializer?
models.py:
class Pizza(models.Model):
name = models.CharField(max_length=50, unique=True)
toppings = models.ManyToManyField(Topping, null=True, blank=True, related_name='pizzas')
class Topping(models.Model):
name = models.CharField(max_length=50, unique=True)
price = models.IntegerField(default=0)
serializer.py:
class ToppingSerializer(serializers.ModelSerializer):
class Meta:
model = Topping
fields = '__all__'
Questo funziona, ma non include il campo relativo.
fields = ['name', 'price', 'pizzas']
Questo funziona esattamente come voglio, ma cosa succede quando il modello Topping ha un sacco di campi. Voglio fare qualcosa di simile:
fields = ['__all__', 'pizzas']
risultati Questa sintassi in un errore che dice:
Nome campo
__all__
non è valida per il modello
C'è un modo per ottenere il desiderato comportamento? O i campi devono essere digitati manualmente quando si utilizza un nome correlato?
http://stackoverflow.com/ domande/14573102/how-do-i-include-related-model-fields-using-django-rest-framework - La risposta non può essere migliorata, se è dell'autore stesso. – karthikr
@karthikr Questo in realtà non spiega come fare ciò che voglio. Spiega semplicemente come annidare M2M. Non voglio farlo. Voglio includere campi correlati e il tag __all__ nei "campi" del serializzatore – Curtwagner1984