Benengelle Django DİNLENME çerçevesinde hatayı "alanı benzersiz olmalıdır"
class MyModel(models.Model):
uuid = models.CharField(max_length=40, unique=True)
ve
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('uuid')
Ve MyModel nesne ile JSON almak istediğiniz bir serileştiriciden ama olabilir gibi bir modeli mevcut nesneler. Ben nesne mevcut ilgili verileri içeren serializer.is_valid()
kullandığınızda Yani, bana bir hata verir:
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()
Hata:
{"uuid":["This field must be unique."]}
yeni ve mevcut nesneler için davranışını ayırmak için bir yolu var mı? Özellikle, henüz veritabanı değilse ve mevcut MyModel
nesnesini güncelse yeni MyModel
nesnesini oluşturmak istiyorum.
genellikle size serileştiriciye ile çalışmak için kullandığınız kod (ekleyebilir soru) –
Eklendi, ancak işe yaramaz bir bilgi çünkü zaten tanımladım - sorun is_valid() işlevi. –
Tam API görüntüleme kodunuzu ekleyebilir misiniz? Belki de bir örnek oluşturmak ve güncellemek için bir POST isteği kullanıyorsunuz? – Fiver