Python Django:添加ForeignKey limit\u choices\u以关联另一个或同一个模型实例

Python Django:添加ForeignKey limit\u choices\u以关联另一个或同一个模型实例,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,这是我的密码 std_name = models.ForeignKey( StudentInfo, on_delete=models.CASCADE) def get_std_class_name(self): return int(self.std_name.std_subject_class.std_class_name_N) def limit_subject_std_choices(): return {'std_subject_class__std_class_name

这是我的密码

std_name = models.ForeignKey(
StudentInfo, on_delete=models.CASCADE)

def get_std_class_name(self):
   return int(self.std_name.std_subject_class.std_class_name_N)

def limit_subject_std_choices():
   return {'std_subject_class__std_class_name_N':'get_std_class_name' }

subject_name = models.ForeignKey(StdSubject,on_delete=models.CASCADE, limit_choices_to=limit_subject_std_choices)
但显示出错误ValueError位于/admin/results/studentinfo/1/change/int()的值错误,以10为基数:“get\u std\u class\u name”

我不知道我的代码有什么问题。我想当任何学生在任何科目上打分时,该科目将显示其基本类名。 我只是想从这个模型实例中获取学生类信息,并在这个函数中传递一个值

def limit_subject_std_choices():
       return {'std_subject_class__std_class_name_N':'get_std_class_name'}
从中,值应为表达式为
键的
dict
,值为
dict value

在您的情况下,您正在尝试查找模型中每个实例的值,这是不可能的

那么在你的情况下有什么可能呢?

std\u subject\u class\u std\u class\u name\u N
需要一个
PK
值(一个整数值),因此应该将一个有效的整数作为

subject_name = models.ForeignKey(StdSubject, on_delete=models.CASCADE,
                                 limit_choices_to={'std_subject_class__std_class_name_N': 123})
subject\u name=models.ForeignKey(StdSubject,on\u delete=models.CASCADE,

将选项限制为={'std\u subject\u class\uuu std\u class\u name\u N':123})
你是对的。但现在我想用主题学习课和数学学生学习课返回查询。我该怎么做?你可以再问我一个问题