我有一张表“运动员”和另一张表“家长”。
表字段为:
ATHLETES
reg_number
first_name
last_name
gender
age_group (as FK to AgeGroup)
parent_1 (as FK to Parents using related_name='parent_1')
parent_2 (as FK to Parents using related_name='parent_2')
PARENTS
first_name
last_name
email
phone
我在管理控制台中可以使用此功能,我可以在其中为运动员添加父母。
我有一个表格,将显示每个运动员的相关父母。
问题正在尝试更新给定运动员的父项。 POST 具有parent_1 和parent_2 的正确ID,但我在浏览器中收到以下错误
ValueError at /save_athlete
Cannot assign "'1'": "Athletes.parent_1" must be a "Parents" instance.
POST 的有效负载中显示以下数据
id: 1
reg_number: 12345
group: 2
first_name: amy
last_name: small
gender: Female
parent_1: 1
parent_2: 2
我不明白这个错误,所以不确定在这里发布什么代码会有用。
我原以为表单验证时会接受
parent_1
和 parent_2
值 (id
s),但它会在 views.py
中引发错误
外键接受
id
,但前提是它们的类型正确。如果您仔细查看错误消息:
Cannot assign "'1'": "Athletes.parent_1" must be a "Parents" instance.
您会看到
'1'
是一个字符串,而不是整数。我们看不到您的代码,但将其转换为 int
应该可以解决问题。