master
من إطار عمل Django REST.فئة GraphDomainSerializer (مسلسلات.ModelSerializer):
user = serializers.HiddenField (افتراضي = serializers.CurrentUserDefault)
فئة CurrentUserDefault (كائن):
ضبط set_context (self، serializer_field):
self.user = serializer_field.context ['طلب']. مستخدم
def __call__(self):
return self.user
def __repr__(self):
return unicode_to_repr('%s()' % self.__class__.__name__)
def get_default (ذاتي):
""
قم بإرجاع القيمة الافتراضية لاستخدامها عند التحقق من صحة البيانات إذا لم يكن هناك إدخال
يتم توفيره لهذا المجال.
If a default has not been set for this field then this will simply
raise `SkipField`, indicating that no value should be set in the
validated data for this field.
"""
if self.default is empty or getattr(self.root, 'partial', False):
# No default, or this is a partial update.
raise SkipField()
if callable(self.default):
if hasattr(self.default, 'set_context'):
**self.default.set_context(self)**
return self.default()
return self.default
ملف "/Users/lishijin/.pyenv/versions/3.7.2/lib/python3.7/site-packages/rest_framework/fields.py" ، السطر 490 ، في get_default
self.default.set_context (ذاتي)
TypeError: set_context () مفقودة وسيطة موضعية مطلوبة: 'serializer_field'
[24 / يونيو / 2019 14:34:45] "POST / الرسوم البيانية / HTTP / 1.1" 500 21130
يجب أن تكون القيمة الافتراضية نسخة وليست فئة: serializers.CurrentUserDefault()
كما هو موضح في الوثائق
يجب أن يكون الإعداد الافتراضي مثيلًا وليس فئة:
serializers.CurrentUserDefault()
كما هو موضح في الوثائق
لقد حلت المشكلة
يجب أن تكون القيمة الافتراضية نسخة وليست فئة:
serializers.CurrentUserDefault()
كما هو موضح في الوثائق
شكرًا , لقد ساعدتني في حل هذه المشكلة
التعليق الأكثر فائدة
يجب أن تكون القيمة الافتراضية نسخة وليست فئة:
serializers.CurrentUserDefault()
كما هو موضح في الوثائق