django admin Adds data to automatically record user into the table

  • 2020-06-23 01:01:05
  • OfStack

1. Requirement: Add one piece of data in the background and record the adder in the table.

2.models.py


class Setting(models.Model): 
  ...      
  user = models.CharField(max_length=50, blank=True, help_text=u" Add the ")
  ...

3.admin.py


@register(Setting)
class SettingAdmin(admin.ModelAdmin):
  list_display = ("pk", "user", "other_field")
  def save_model(self, request, obj, form, change):
    obj.user = request.user
    obj.save()
  readonly_fields = ("user", )

Related articles: