4

这听起来像是一个微不足道的问题,但似乎并不那么容易回答:

您如何在 Django Admin 中将 ForeignKey 字段显示为 Checkbox 并在此用户选中 Admin 中的复选框时保存当前登录的用户?

例子:

class MyModel(models.Model):
    ...
    approved = models.ForeignKey(User)
    ...

admin.site.register(MyModel)

我如何能够将该approved字段显示为复选框?

非常感谢您的帮助!

4

3 回答 3

0

您可以get_form在 ModelAdmin 上使用该方法,并根据需要自定义表单。

在这种情况下,您必须将字段小部件更改为复选框,并在表单验证时将值设置为 request.user(如果选中)。

于 2016-05-04T08:05:45.600 回答
0

您可以在 admin.py 中对其进行如下自定义

class MyModelWidget(forms.ModelForm):
    approved = forms.BooleanField(widget=forms.CheckboxInput())

    class Meta:
        model = MyModel
admin.site.register(MyModel, MyModelWidget)

参考https://docs.djangoproject.com/en/1.9/ref/contrib/admin/

于 2016-05-04T08:08:39.460 回答
0

在你的 form.py 中:

class YOURMODELForm(forms.ModelForm):
    approved = forms.ModelChoiceField(queryset=User.objects.order_by('name'))
于 2016-05-04T08:11:39.793 回答