gpt4 book ai didi

django - 如何使用 Django ModelForms 中的 self.field_value 将查询集传递给 ModelChoiceField

转载 作者:行者123 更新时间:2023-12-04 02:08:26 26 4
gpt4 key购买 nike

我可以向你解释整个事情,但我想代码比文字更清晰,所以:

  class Skills(models.Model):
skill = models.ForeignKey(ReferenceSkills)
person = models.ForeignKey(User)

class SkillForm(ModelForm):
class Meta:
model = Skills
fields = ( 'person', 'skill')
(???)skill = forms.ModelChoiceField(queryset= SkillsReference.objects.filter(person = self.person)

我只是在猜测我该怎么做。但我希望你们明白我在做什么。

最佳答案

您可以在创建表单实例之前覆盖表单结构,例如:

class SkillForm(ModelForm):
class Meta:
model = Skills
fields = ( 'person', 'skill')

在您看来:
SkillForm.base_fields['skill'] = forms.ModelChoiceField(queryset= ...)
form = SkillForm()

您可以在 View 中随时覆盖它,重要的部分是,您必须在使用
form = SkillForm()

关于django - 如何使用 Django ModelForms 中的 self.field_value 将查询集传递给 ModelChoiceField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6151858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com