А если ModelY например не создается, а в Model просто появляется новое поле со ссылкой на уже имеющуюся модель?
def get_existing_default_model():
return ExistingModel.objects.get(name="A default one")
class Model(models.Model):
# ...
existing_model = models.ForeignKey(ExistingModel, on_delete=models.CASCADE, default=get_existing_default_model)
default_model_y = ModelY.objects.create(name="Default one")
default_model_y = ModelY.objects.create(id=1, name="Default one")
. serializer = SnippetSerializer(instance=existing_snippet)
serializer.save()
instance=
, то объект создастся.instance=Snippet()
(модель без айдишника, не сохранённая). Собственно, если не передавать instance=
, то сериалайез неявно создаёт "чистую" модель. $ echo '╨Ю╨и╨Ш╨С╨Ъ╨Р: ╤Б╤В╨╛╨╗╨▒╨╡╤Ж "coords" ╨╜╨╡╨╗╤М╨╖╤П ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨┐╤А╨╕╨▓╨╡╤Б╤В╨╕ ╨║ ╤В╨╕╨┐╤Г geometry HINT: ╨Т╨╛╨╖╨╝╨╛╨╢╨╜╨╛, ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨╛ ╤Г╨║╨░╨╖╨░╤В╤М "USING coords::geometry(Point,4326)".' | iconv -f utf-8 -t cp866
ОШИБКА: столбец "coords" нельзя автоматически привести к типу geometry HINT: Возможно, необходимо указать "USING coords::geometry(Point,4326)".