我正在使用 django-bootstrap-modal-forms,当使用我的模型中的字段时,它可以完美地在文档中工作。一些字段是 ForeignKeys,它们正确显示供用户从键引用的数据库表中选择一个值,但我需要输入当前用户的用户名。我试图改变 CreateView 类处理字段的方式,但没有运气。可能是做错了什么。models.pyclass userSchoolYear(models.Model): user_in_school = models.ForeignKey(get_user_model(), null=True, on_delete=models.CASCADE) school = models.ForeignKey(sifMusicSchool, on_delete=models.CASCADE) school_year = models.ForeignKey(sifSchoolYear, on_delete=models.CASCADE) school_year_grade = models.CharField(max_length=4, choices=IZBOR_RAZREDA, default=None, null=True) user_instrument = models.ForeignKey(instType, on_delete=models.CASCADE, default=None, null=True) user_profesor = models.ForeignKey(profSchool, on_delete=models.CASCADE, default=None, null=True)views.pyclass SchoolYearCreateView(BSModalCreateView): template_name = 'school_year.html' form_class = SchoolYearForm success_message = 'Success!' success_url = reverse_lazy('school') def __init__(self, *args, **kwargs): self.form_class.user_in_school = 'johnny' ### HERE print(user.username) super().__init__(*args, **kwargs)forms.pyclass SchoolYearForm(BSModalForm): class Meta: model = userSchoolYear fields = '__all__'
1 回答

哆啦的时光机
TA贡献1779条经验 获得超6个赞
感谢作者 Uroš Trstenjak,我能够找到解决方案。我试图从views.py设置字段值是错误的,而是应该在forms.py中完成。所以,基本上我必须为表单编写一个初始化程序并更改字段值。Uroš 指出,在从级别我可以从 self.request.user 获取当前用户并且它确实有效。
添加回答
举报
0/150
提交
取消