django study 03 - admin 에 table, user, column 추가하기

 

admin superuser 만들기

/lms

$ python3 manage.py createsuperuser

models.py에 생성한 class를 admin interface로 옮기기

/lms/licenses/admin.py

from django.contrib import admin
from .models import license_list, user_list

admin.site.register(license_list)
admin.site.register(user_list)

runserver & admin 페이지 확인




license하나 생성하면 column이 하나이고 이름이 django 맘대로 되어있음.

column을 product key를 보여주도록 변경

/lms/licenses/models.py

from pyexpat import model
from django.db import models
from django.forms import IntegerField
from django.utils import timezone

class license_list(models.Model):
    account = models.CharField(max_length=255)
    end_user = models.CharField(max_length=255)
    product = models.CharField(max_length=255)
    product_key = models.CharField(max_length=255)
    expiration_date = models.DateField()
    volumemargin = models.IntegerField()
    margin = models.IntegerField()
    activation_remain = models.IntegerField()
    activation_total = models.IntegerField()
    created = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.product_key

class user_list(models.Model):
    account = models.ForeignKey(license_list, on_delete=models.CASCADE)
    end_user = models.CharField(max_length=255)


결과



admin에 column 추가하기

/lms/licenses/admin.py

from math import ldexp
from django.contrib import admin
from .models import license_list, user_list

class License_listAdmin(admin.ModelAdmin):
    list_display = ('id', 'account', 'end_user', 'product', 'product_key', 'expiration_date',
                    'volumemargin', 'margin', 'activation_remain', 'activation_total', 'created')

class User_listAdmin(admin.ModelAdmin):
    list_display = ('id', 'account', 'end_user')

admin.site.register(license_list, License_listAdmin)
admin.site.register(user_list, User_listAdmin)

데이터 추가 할때 특정 field 숨기기

/lms/licenses/admin.py

exclude에 포함한 field는 보이지 않는다.

exclude 대신 fields를 쓰면 display할 필드를 직접 지정한다.

from math import ldexp
from django.contrib import admin
from .models import license_list, user_list

class License_listAdmin(admin.ModelAdmin):
    list_display = ('id', 'account', 'end_user', 'product', 'product_key', 'expiration_date',
                    'volumemargin', 'margin', 'activation_remain', 'activation_total', 'created')
    exclude = ('created', )

class User_listAdmin(admin.ModelAdmin):
    list_display = ('id', 'account', 'end_user')

admin.site.register(license_list, License_listAdmin)
admin.site.register(user_list, User_listAdmin)



댓글 쓰기

0 댓글