show db info with admin site - pai-plznw4me/django-initializer GitHub Wiki

admin site ์ œ์–ด

    1. Customํ•œ User ์ •๋ณด๋ฅผ admin site ์—์„œ db model ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.
    1. Model ์ •๋ณด๋ฅผ admin site ์—์„œ db model ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

1. Customํ•œ User ์ •๋ณด๋ฅผ admin site ์—์„œ db model ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

# school_management_app/models.py
class StudentUser(AbstractUser):
    real_name = models.CharField(max_length=50)
    region = models.CharField(max_length=50)
    phone_number = models.IntegerField(blank=True, null=True, default='-1')

    def __str__(self):
        return self.username

# school_management_app/admin.py

class CustomUserAdmin(UserAdmin):
    model = StudentUser
    # admin site ์—์„œ ๋ณด์—ฌ์ค„ StudentUser ์˜ ์ •๋ณด ์ˆœ์„œ 
    list_display = ['email', 'username', 'region', 'phone_number']

admin.site.register(StudentUser, CustomUserAdmin)

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์ด admin ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ฉด DB ๋‚ด ์ƒ์„ธ ์ •๋ณด๋Š” ๋ณด์—ฌ์ง€์ง€ ์•Š๋Š”๋‹ค.

admin.site.register(StudentUser)

2. Model ์ •๋ณด๋ฅผ admin site ์—์„œ db model ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

admin.ModelAdmin ์„ ์ƒ์† ๋ฐ›์œผ๋ฉด django admin page ์—์„œ ํ•ด๋‹น db์— ๋ฌด์—‡์„, ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ์ง€์ • ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํŒจํ„ด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

# app/admin.py
class AttendanceAdmin(admin.ModelAdmin):
    list_display = ('student', 'datetime', 'class_type', 'attend')


admin.site.register(Attendance, AttendanceAdmin)