Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
2 400 ₽

Помощь с Django REST framework



  1. 162    1  0
    1 день2 400 ₽

    Добрый день. Провожу консультации по Джанго. Давайте спишимся через скайп.

  2. ставка скрыта фрилансером
  • Артем Немиров
    14 февраля в 01:39 |
    # Models
    class Play(models.Model):
        genre = models.CharField(max_length=100)
        title = models.CharField(max_length=200)
        pages = models.IntegerField()
    
    class Poem(models.Model):
        title = models.CharField(max_length=200)
        style = models.CharField(max_length=100)
        lines = models.IntegerField()
        stanzas = models.IntegerField()
    
    # Serializers
    class PlaySerializer(serializers.ModelSerializer):
        class Meta:
            model = Play
            fields = ('genre','title','pages')
    
    class PoemSerializer(serializers.ModelSerializer):
        class Meta:
            model = Poem
            fields = ('title','stanzas')
    
    

    #ObjectMultipleModelAPIView:

    from drf_multiple_model.views import ObjectMultipleModelAPIView
    
    class TextAPIView(ObjectMultipleModelAPIView):
        querylist = [
            {'queryset': Play.objects.all(), 'serializer_class': PlaySerializer},
            {'queryset': Poem.objects.filter(style='Sonnet'), 'serializer_class': PoemSerializer},
            ....
        ]
    
    

    #result

    {
        "Play" : [
            {"genre": "Comedy", "title": "A Midsummer Night"s Dream", "pages": 350},
            {"genre": "Tragedy", "title": "Romeo and Juliet", "pages": 300},
            ....
        ],
        "Poem" : [
            {"title": "Shall I compare thee to a summer"s day", "stanzas": 1},
            {"title": "As a decrepit father takes delight", "stanzas": 1},
            ....
        ],
    }