पर फ़ाइल अपलोड करें तो मैं अब तक कोई भाग्य नहीं होने के साथ डीआरएफ का उपयोग करके एक विधि में फ़ाइल अपलोड करने का प्रयास कर रहा हूं।Django Rest Framework एक विधि
मैं एक ModelViewSet
का उपयोग कर कोई समस्या नहीं के साथ (FormParser, MultiPartParser,)
को अपलोड करने में सक्षम था, लेकिन मैं वास्तव में इस http://localhost:8000/api/v1/women/{pk}/upload_avatar/
की तरह कुछ में इसका उपयोग करना मैं कहाँ पहले id के आधार पर स्त्री को फ़िल्टर और उसके अवतार पर अपलोड (जो एक विदेशी है करना चाहते हैं की जरूरत है एक मल्टीमीडिया मॉडल के लिए कुंजी)। मैंने बिना किसी किस्मत के एक नेस्टेड संसाधन पुस्तकालय का उपयोग करने की कोशिश की।
अब तक मैं अपने modelviewset में है:
class WomenNativePassportViewSet(viewsets.ModelViewSet):
queryset = Women.objects.all()
serializer_class = WomenNativePassportSerializer
authentication_classes = (NoAuthentication,)
permission_classes = (AllowAny,)
parser_classes = (FormParser, MultiPartParser,)
@detail_route(
methods=['post', 'put', 'patch', 'get'], permission_classes=[AllowAny],
authentication_classes=[NoAuthentication], serializer_class=MultimediaSerializer,
parser_classes=(FormParser, MultiPartParser,)
)
def upload_avatar(self, request, pk=None, *args, **kwargs):
if 'POST' in request._method or 'PATCH' in request._method:
# Write code to save the file??
else:
multimedia = Multimedia.objects.filter(user_profiles_avatares__pk=pk)
page = self.paginate_queryset(multimedia)
serializer = self.get_pagination_serializer(page)
return Response(serializer.data)
मेरे मॉडल:
class Women(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
avatar = models.ForeignKey(
'core.Multimedia', blank=True, null=True,
related_name='user_profiles_avatares'
)
class Multimedia(models.Model):
file = models.FileField(upload_to=upload_to, null=True, blank=True)
thumbnail = models.FileField(upload_to=upload_to, null=True, blank=True)
असल में मैं अगर यह सही रास्ते मैं ले रहा हूँ है जानना चाहता हूँ, और अगर हां मैं कैसे कर सकते हैं मॉडल में अपलोड की गई फाइल को सही ढंग से सेव करें ??
मैं 'request.method' के रूप में' request.method 'के रूप में' request.method 'में' request.method 'जैसा दिखने के लिए विधि जांच को बदलने का सुझाव देता हूं। एकल विधि – gregoltsov