Django-REST çerçeve belgelerinin bulunması, ne kadar uzun olsa da, benim için arka planda hala çok açık olmasına rağmen.Django-REST çerçevesi restore_object attrs parametreleri
Restore_object yönteminin attrs işlevi ne yapar?
instance.title = attrs.get('title', instance.title)
İkinci argüman ne anlama geliyor ve bu dokümanlar gelecekte ne anlama geleceğini arayan hakkında gitmek ? Ayrıca return Snippet(**attrs)
'daki çift yıldız işaretlerinin ne anlama geldiğinden emin değilsiniz. Bu, keywArgs'den farklı mı? Serileştirilmiş Snippet nesnesine hangi argümanlar geri döndürülüyor?
Dokümanların başka bir bölümünde, geri dönüşümü görebileceğimi umduğum restore_object() instance.title = attrs['title']
'da görüyorum. ...
class SnippetSerializer(serializers.Serializer):
pk = serializers.Field() # Note: `Field` is an untyped read-only field.
title = serializers.CharField(required=False,
max_length=100)
code = serializers.CharField(widget=widgets.Textarea,
max_length=100000)
linenos = serializers.BooleanField(required=False)
language = serializers.ChoiceField(choices=LANGUAGE_CHOICES,
default='python')
style = serializers.ChoiceField(choices=STYLE_CHOICES,
default='friendly')
def restore_object(self, attrs, instance=None):
"""
Create or update a new snippet instance.
"""
if instance:
# Update existing instance
instance.title = attrs.get('title', instance.title)
instance.code = attrs.get('code', instance.code)
instance.linenos = attrs.get('linenos', instance.linenos)
instance.language = attrs.get('language', instance.language)
instance.style = attrs.get('style', instance.style)
return instance
# Create new instance
return Snippet(**attrs)
Ben aynı şeyi merak ediyorum. – alejoss