Django 모델의 필드 기본값


100

모델이 있다고 가정합니다.

class SomeModel(models.Model):
    id = models.AutoField(primary_key=True)
    a = models.CharField(max_length=10)
    b = models.CharField(max_length=7)

현재 기본 관리자를 사용하여이 유형의 개체를 생성 / 편집하고 있습니다. b각 개체 값으로 만들 수없고 대신 기본값을 받도록 관리자 에서 필드 를 제거하려면 어떻게해야 0000000합니까?

답변:



22

다음과 같이 기본값을 설정할 수 있습니다.

b = models.CharField(max_length=7,default="foobar")

다음과 같이 모델의 Admin 클래스로 필드를 숨길 수 있습니다.

class SomeModelAdmin(admin.ModelAdmin):
    exclude = ("b")

21

다음과 같은 기본 필드에서 콜 러블을 사용할 수도 있습니다.

b = models.CharField(max_length=7, default=foo)

그런 다음 콜 러블을 정의하십시오.

def foo():
    return 'bar'

4
이것은 문서에 표시되어 있지만 1.8에서는 작동하지 않는 것 같습니다. foo()클래스 메서드 여야합니까 ?
ToothlessRebel

3
@staticmethodfoo 함수 주위 에 래퍼 를 설정해야 할 수도 있습니다 .
중독자
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.