Вставить ноль в поле ecto own_to

У меня есть экто модель

defmodule App.Profile  do
use App.Web, :model
alias App.Repo

schema "profiles" do
  belongs_to  :user,            App.User
  field       :name,            :string
  field       :last_name,       :string
  field       :second_surname,  :string

  timestamps
end

Но когда-нибудь я хочу сохранить в базе данных и поставить пользователя на ноль. Нужно ли мне добавить какой-нибудь флаг в поле пользователя?

У меня есть этот код в моем контроллере

changeset = Profile.changeset(%Profile{user_id: nil}, profile_params)

Но при попытке сохранить я получил эту ошибку

:erlang.byte_size({:user_id, "can't be blank"})

Как лучше всего вставить null в базу данных?

Я использую postgres, и когда я вставляю свои данные вручную, я могу вставить null в поле user_id.


person Gidrek    schedule 18.11.2015    source источник


Ответы (1)


Ничего, я просто удалил user_id из обязательных полей и добавил в необязательные поля

@required_fields ~w(name last_name)
@optional_fields ~w(second_surname user_id)
person Gidrek    schedule 18.11.2015