2016-06-26 8 views
0

다른 SO 질문 (link)에서이 코드를 복사했습니다.장고 속성 만들기

from django.template.defaultfilters import truncatechars # or truncatewords 

class Foo(models.Model): 
    description = models.TextField() 

    @property 
    def short_description(self): 
     return truncatechars(self.description, 100) 

class FooAdmin(admin.ModelAdmin): 
    list_display = ['short_description'] 

또한이 질문 (link)에서이 코드를 복사했습니다.

class Projects(models.Model): 
    Name = models.CharField(max_length=100, null=True, blank=False) 
    Date = models.DateField(null=True, blank=False) 
    Month = models.CharField(max_length=100, null=True, blank=False) 

     def get_month(self): 
      if self.Date: 
       self.Month = self.Date.strftime("%B") 
       self.save() 

이 두 가지 질문에서 설명한 개념을 알고 있지만 사용 가능한 옵션 목록을 어디서 찾을 수 있는지 잘 모르겠습니다. 예를 들어 return truncatechars(self.description, 100)을 사용하고 self.Month = self.Date.strftime("%B")을 사용하면 사용 가능한 옵션을 찾을 수있는 라이브러리는 어디에 있습니까? 새 속성을 만들고 싶지만 옵션의 '라이브러리'를 찾을 위치를 모르겠습니다.

나는 항상 models.py에서 이루어질 것이라고 가정합니다.

답변

2

나는 'library' of options의 의미를 모르지만 장고에서 속성을 정의하는 라이브러리는 없습니다. 버전 2.2 이후로는 보통 attribute of Python입니다.

예, models.py는 클래스의 필드를 정의하기 때문에 정의한 곳입니다.

> example for property from official docs

+1

고맙습니다. 그리고 링크를 제공해 주셔서 감사합니다. – Kervvv

+0

@ceuskervin 당신은 환영합니다. – doniyor