모델이 있다고 가정합니다.
class SomeModel(models.Model):
id = models.AutoField(primary_key=True)
a = models.CharField(max_length=10)
b = models.CharField(max_length=7)
현재 기본 관리자를 사용하여이 유형의 개체를 생성 / 편집하고 있습니다. b
각 개체 를 값으로 만들 수없고 대신 기본값을 받도록 관리자 에서 필드 를 제거하려면 어떻게해야 0000000
합니까?
답변
설정 editable
을 False
하고 default
기본 값으로.
http://docs.djangoproject.com/en/stable/ref/models/fields/#editable
b = models.CharField(max_length=7, default='0000000', editable=False)
또한 귀하의 id
분야는 불필요합니다. Django가 자동으로 추가합니다.
답변
다음과 같이 기본값을 설정할 수 있습니다.
b = models.CharField(max_length=7,default="foobar")
다음과 같이 모델의 Admin 클래스로 필드를 숨길 수 있습니다.
class SomeModelAdmin(admin.ModelAdmin):
exclude = ("b")
답변
다음과 같은 기본 필드에서 콜 러블을 사용할 수도 있습니다.
b = models.CharField(max_length=7, default=foo)
그런 다음 콜 러블을 정의하십시오.
def foo():
return 'bar'