을 저장하기 전에 나는이있다 :Set 속성
나는 특정에 (필요) "주문"의 "수"속성을 설정해야합니다 제외하고, 작동class OrderForm(ModelForm):
class Meta:
model = Order
exclude = ('number',)
def __init__(self, *args, **kwargs):
super(OrderForm, self).__init__(*args, **kwargs)
if self.initial.get('account', None):
self.fields['customer'].queryset = Customer.objects.filter(account=self.initial.get('account'))
def save(self, force_insert=False, force_update=False, commit=True):
m = super(OrderForm, self).save(commit=False)
# my custom code was here
if commit:
m.save()
return m
번호. 나는 그것을하는 방법을 모른다. 나는 추가 시도 :
self.fields['number'] = 50
"저장()"메서드 내 만 (분명히 즉 올바른 구문은 아니지만 내가 할 노력하고있어 암시) 나는 여전히 IntegrityError 때 저장을 클릭 얻는다. 설상가상으로 문제가되는 또 다른 문제는 Meta 속성이 제외 되었기 때문에 필드에 액세스 할 수 없다는 것입니다. (나는 사람들이 그것을 편집 할 수 없길 원합니다. .
대신 내 모델의 "save()"메소드 또는 "()"에서이 작업을 수행해야합니까?
50은 예제 일뿐입니다. 동적으로 (pseudo incrementing) 생성 할 것입니다. 또한 "initial.account"부분에 액세스해야합니다. 그 모델에서 나는 그것을 어떻게 할 것인가? 기본적으로 account = SpamAccount 인 모든 주문의 번호 속성을 읽고 싶습니다. – orokusaki
보기와 마찬가지로 save() 메소드에서 쿼리를 실행할 수 있습니다. –
매번 50으로 저장하고 양식에서 보내지 않으려합니다. 어떻게해야합니까? – Clayton