Django Admin Custom Widget for ForeignKey

This sounds like a trivial question, but it seems not so easy to answer:

How would you display the ForeignKey field as a checkmark in Django Admin and save the current user when that user checks the checkbox in Admin?

Example:

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

admin.site.register(MyModel)

How can I display a field approvedas a checkbox?

Thank you for your help!

+4
source share
3 answers

You can use the method get_formon your ModelAdmin and customize the form as you wish.

request.user ( ).

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/

0

In your form.py:

class YOURMODELForm(forms.ModelForm):
    approved = forms.ModelChoiceField(queryset=User.objects.order_by('name'))
0
source

All Articles