तो यह वह मॉडल है जिसे मैं क्रमबद्ध करना चाहता हूं:

 from django.db import models

 class Concurs(models.Model):
        name = models.CharField(max_length=50)
        date = models.DateTimeField(auto_now_add=True)
        bio = models.TextField(max_length=5000, blank=True, null=True)
        participants = models.PositiveIntegerField(blank=True, null=True)
        medals = models.PositiveIntegerField(blank=True, null=True)
        done = models.BooleanField()
        link = models.CharField(max_length=1000, blank=True, null=True)
    
        class Meta:
            verbose_name="Concurs"
            ordering = ['-date']
    
        def __str__(self):
            return self.name

यह क्रमांकन प्रक्रिया है:

from rest_framework import serializers
from .models import Concurs

class ConcursSerializer(serializers.ModelSerializer):
    class Meta:
        model = "Concurs"
        fields = "__all__"

यह दृश्य.py है:

from django.shortcuts import render
from .models import Concurs
from .serializers import ConcursSerializer
from rest_framework import generics

class ConcursList(generics.ListCreateAPIView):
    queryset = Concurs.objects.all()
    serializer_class = ConcursSerializer

class ConcursDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Concurs.objects.all()
    serializer_class = ConcursSerializer

जब भी मैं सूची या विवरण दृश्य में नेविगेट करता हूं तो मुझे जो त्रुटि मिलती है वह है:

'str' ऑब्जेक्ट में कोई विशेषता नहीं है '_meta'

मुझे लगता है कि मैंने क्रमबद्धता प्रक्रिया में गलती की है, मैं आरईएसटीफ्रेमवर्क में नया हूं इसलिए मुझे वास्तव में पता नहीं है।

0
Alex Mihoc 9 पद 2020, 20:18

1 उत्तर

सबसे बढ़िया उत्तर
from rest_framework import serializers
from .models import Concurs

class ConcursSerializer(serializers.ModelSerializer):
    class Meta:
        model = Concurs
        fields = "__all__"

आपको स्ट्रिंग नाम "Concurs" के बजाय Concurs वर्ग संदर्भ का उपयोग करना चाहिए

1
sonus21 9 पद 2020, 17:22