У меня проблема с джанго. Я создал свою модель с некоторыми полями, например:
class MyModel(Model):
field1 = models.IntegerField()
field2 = models.CharField(max_length=200)
field3 = models.IntegerField()
class Meta:
unique_together = (('field1', 'field2'))
И у меня есть маршрут API, который ссылается на сериализатор модели:
class MyModelSerializer(ModelSerializer):
class Meta:
model = models.MyModel
Проблема в том, что когда я отправляю объекты через API для их обновления, сериализатор поднимает {'non_field_errors': ['The fields field1, field2 must make a unique set.']}
Кто-нибудь знает, как предотвратить использование UniqueTogetherValidator
в сериализаторе?
unique_together = ('field1', 'field2')
должно выглядеть так, без двойных скобок - person Moses Koledoye   schedule 12.05.2016python manage.py flush
для очистки БД, если вы планируете снова использовать те же самые данные для другого запроса. В противном случае у вас будет уникальное нарушение ограничения. - person Moses Koledoye   schedule 12.05.2016get_or_create
для их обновления/создания, но я никогда не достигаю этого, потому что сериализатор используетUniqueTogetherValidator
... - person Jo Colina   schedule 12.05.2016serializer.is_valid(raise_exception=False)
, как показано здесь - person Moses Koledoye   schedule 12.05.2016