0
모델 데이터에서 전환을 제어하는 방법에 대해 궁금합니다. 나는 How to check value transition in Django (django-admin)?에서 해결책을 발견하지만 난 내 코드 내에서 구현하려고 할 때, 뭔가 잘못 (내가 처벌과 상태를 변경할 수 있어요) :장고 (django-admin)에서 가치 전이를 확인하는 방법은? (Revisited)
# Blog Entry Draft Status Constants
ENTRY_STATUS_DRAFT = 0
ENTRY_STATUS_PUBLISHED = 1
# Create your models here.
class Blog(models.Model):
title = models.CharField(max_length=200, unique=True)
body_html = models.TextField(blank=True)
pub_date = models.DateTimeField ('Date Published', blank=True, null=True, editable=False)
PUB_STATUS = (
(ENTRY_STATUS_DRAFT, 'Draft'),
(ENTRY_STATUS_PUBLISHED, 'Published'),
)
status = models.IntegerField(choices=PUB_STATUS, default=0)
def clean(self):
# Don't allow draft entries to have a pub_date.
if self.status == 'draft' and self.pub_date is not None:
raise ValidationError('Draft entries may not have a publication date.')
# Set the publication date for published items if it hasn't been set already
if self.status == ENTRY_STATUS_PUBLISHED and not self.pub_date:
self.pub_date = datetime.datetime.now()
def clean_status(self):
status = self.cleaned_data.get('status')
if status == ENTRY_STATUS_DRAFT:
if self.instance and self.instance.status == ENTRY_STATUS_PUBLISHED:
raise ValidationError('You cannot change published to draft')
return status
: 여기
내 코드의 관련 부분이다
clean() 메서드가 작동합니다. 나는 또한 '게시 됨'및 '초안'clean_status() 메서드를 사용하여 시도했지만 그 작동하지 않았다.
깨끗한 상태로 올바른 위치에 놓고 있습니까? 나는 무엇인가 내려다보고 있냐?
방금 시도했습니다 ... 작동하지 않았습니다 ... 오류가 발생했습니다 : " 'Blog'객체에는 'cleaned_data'속성이 없습니다." 추적 기록 : http://dpaste.com/232983/ –