मैं की तरहदबाने Django बाकी ढांचे में त्रुटि "क्षेत्र अद्वितीय होना चाहिए"
class MyModel(models.Model):
uuid = models.CharField(max_length=40, unique=True)
और एक serializer
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('uuid')
और मैं MyModel वस्तु के साथ JSON प्राप्त करना चाहते हैं, लेकिन यह हो सकता है एक मॉडल मौजूदा वस्तुओं तो, जब मैं मौजूदा वस्तु के बारे में डेटा के साथ serializer.is_valid()
का उपयोग यह मुझे एक त्रुटि देता है:
for record in request['records']:
# request - body of JSON request,
# 'records' - array of records I want to add or update
serializer = MyModelSerializer(data=record)
if serializer.is_valid():
# Do stuff
serializer.save()
त्रुटि:
{"uuid":["This field must be unique."]}
वहाँ एक रास्ता नए और मौजूदा वस्तुओं के लिए व्यवहार को अलग करने के है? विशेष रूप से, मैं नया MyModel
ऑब्जेक्ट बनाना चाहता हूं यदि यह अभी तक डेटाबेस नहीं है और मौजूद होने पर मौजूदा MyModel
ऑब्जेक्ट अपडेट करें।
आप कोड आप serializer के साथ काम करने के लिए प्रयोग कर रहे हैं (आमतौर पर जोड़ सकते हैं देखें) प्रश्न के लिए? –
जोड़ा गया, लेकिन यह बेकार जानकारी है क्योंकि मैंने पहले से ही वर्णन किया है - समस्या is_valid() फ़ंक्शन में है। –
क्या आप अपना पूरा एपीआई व्यू कोड जोड़ सकते हैं? शायद आप एक उदाहरण बनाने और अद्यतन करने के लिए एक POST अनुरोध का उपयोग कर रहे हैं? – Fiver