33 lines
1.8 KiB
Python
33 lines
1.8 KiB
Python
|
|
import os
|
||
|
|
from django.utils.deconstruct import deconstructible
|
||
|
|
from django.db import models
|
||
|
|
from django.contrib.auth.models import User
|
||
|
|
|
||
|
|
@deconstructible
|
||
|
|
class StaticImagePath(object):
|
||
|
|
def __call__(self, instance, filename):
|
||
|
|
# B_main 앱 폴더 하위의 static/B_main/images/에 저장
|
||
|
|
return f'B_main/static/B_main/images/{filename}'
|
||
|
|
|
||
|
|
class Person(models.Model):
|
||
|
|
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
|
||
|
|
이름 = models.CharField(max_length=50)
|
||
|
|
소속 = models.CharField(max_length=100)
|
||
|
|
생년월일 = models.DateField(null=True, blank=True)
|
||
|
|
직책 = models.CharField(max_length=50)
|
||
|
|
연락처 = models.CharField(max_length=20)
|
||
|
|
주소 = models.CharField(max_length=255)
|
||
|
|
사진 = models.ImageField(upload_to='profile_photos/', default='profile_photos/default_user.png', blank=True)
|
||
|
|
TITLE = models.CharField(max_length=50, blank=True, null=True)
|
||
|
|
SEQUENCE = models.IntegerField(blank=True, null=True)
|
||
|
|
모든사람보기권한 = models.BooleanField(default=False, verbose_name='모든 사람 보기 권한', help_text='True인 경우 모든 사람을 볼 수 있고, False인 경우 회원가입한 사람만 볼 수 있습니다.')
|
||
|
|
keyword1 = models.CharField(max_length=50, blank=True, null=True, verbose_name='검색 키워드', help_text='다른 사람들이 당신을 찾을 수 있도록 키워드를 입력하세요 (예: 회계감사)')
|
||
|
|
비밀번호설정필요 = models.BooleanField(default=False, verbose_name='비밀번호 설정 필요', help_text='True인 경우 사용자가 메인페이지 접근 시 비밀번호 설정 페이지로 리다이렉트됩니다.')
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
verbose_name = '사람'
|
||
|
|
verbose_name_plural = '사람들'
|
||
|
|
|
||
|
|
def __str__(self):
|
||
|
|
return self.이름
|