В настоящее время у меня есть таблица, в которой есть поле с отношением own_to с другой таблицей.Когда я пытаюсь использовать Repo.insert для добавления значения в это поле, я получаю ошибку «is_invalid».Ошибка генерируется как начальным файлом, так и командной строкой вручную.
Структура для вставки:
Repo.insert! %Customer_list{
age: 24,
first_name: "Tony",
last_name: "Stark",
customer_id: "D00001",
list_date: ~D[2018-09-13],
consultant_id: 8
}
Модель:
defmodule InformAPI.CTL.Customer_list do
use Ecto.Schema
import Ecto.Changeset
schema "customer_lists" do
field :age, :integer
field :first_name, :string
field :last_name, :string
field :customer_id, :string
field :list_date, :date
belongs_to :consultant_id, InformAPI.CTL.Customer_list_consultants
timestamps()
end
@doc false
def changeset(customer_list, attrs) do
Customer_list
|> cast(attrs, [:customer_id, :first_name, :age, :last_name, :list_date, :consultant_id])
|> validate_required([:customer_id, :first_name, :age, :last_name, :consultant_id, ])
end
end
Все поля, кроме 'consultant_id 'может быть введен правильно.'Consultant_id' - это поле типа bigint в базе данных Postgres.База данных Customer_lists имеет следующие ключи:
customer_lists_consultant_id_fkey
customer_lists_pkey
customer_lists_consultant_id_index
И таблица customer_lists_consultants имеет:
customer_list_consultants_pkey
Я не уверен, что является недопустимым.Поле consultant_id не принимает значения любого типа (String, int и т. Д.).