这听起来像是一个微不足道的问题,但回答似乎并不那么容易:
如果此用户选中Admin中的复选框,您将如何在Django Admin中将ForeignKey字段显示为复选框并保存当前登录的用户?
示例:
class MyModel(models.Model):
...
approved = models.ForeignKey(User)
...
admin.site.register(MyModel)
我如何能够将approved
字段显示为复选框?
非常感谢您的帮助!
答案 0 :(得分:0)
您可以在ModelAdmin上使用get_form
方法,并根据需要自定义表单。
在这种情况下,您必须将字段小部件更改为复选框,并在表单验证时将值设置为request.user(如果已选中)。
答案 1 :(得分:0)
您可以在admin.py
中按如下方式对其进行自定义class MyModelWidget(forms.ModelForm):
approved = forms.BooleanField(widget=forms.CheckboxInput())
class Meta:
model = MyModel
admin.site.register(MyModel, MyModelWidget)
答案 2 :(得分:0)
在你的form.py中:
class YOURMODELForm(forms.ModelForm):
approved = forms.ModelChoiceField(queryset=User.objects.order_by('name'))