Back-End/Python Django

[Django] [admin page]필드 순서 변경하기

Hoplin 2022. 2. 16. 13:54
반응형

views.py & admin.py

아래와 같이 views.py에 Question모델 클래스가 정의되어있다고 가정하자

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField(verbose_name='date_published')

    def __str__(self):
        return self.question_text

그리고 admin.py에 admin.site.register()를 통해서 모델을 등록하였다

admin.site.register(Question)

이제 admin사이트에 들어가서 새로운 데이터를 추가한다고 가정해보자.

기본적으로 모델의 필드 정의 순서대로인 question_text - published_date순서로 입력창이 나와있는것을 볼 수 있다. 만약 이 입력 순서를 publisehd_date - question_text순서라고 가정을 해보자. 그런 경우 아래와 같이 입력해주면 된다.

class QuestionAdmin(admin.ModelAdmin):
    fields = ['pub_date','question_text'] # 필드 순서를 변경

admin.site.register(Question,QuestionAdmin)

admin.ModelAdmin클래스를 상속받은 새로운 클래스를 만들고 field에 필드 순서를 원하는 순서대로 입력하고, admin.site.register()의 두번째 인자로 넘겨주면 된다. 그러면 아래와 같이 필드순서가 변경되어있는것을 볼 수 있다.

 

반응형