2012-03-14 3 views
24

यदि मैं एक संपादन फ़ॉर्म में हूं और अगर मैं Django ModelForm के सृजन रूप में हूं तो इसे एक चेतावनी संदेश प्रदर्शित करना चाहता हूं।परीक्षण यदि Django ModelForm के पास उदाहरण है

form.is_bound मुझे बताएं कि क्या फॉर्म पहले पॉप्युलेट किया गया था लेकिन मॉडलफॉर्म को मौजूदा उदाहरण के साथ सेट किया गया था या नहीं?

मैंने इस hasattr(form.instance, 'pk') को आजमाया लेकिन क्या ऐसा करने का यह सही तरीका है?

चीयर्स,

Natim

उत्तर

40

अगर form.instance.pkNone है देखने का प्रयास करें।

hasattr(form.instance, 'pk') हमेशा True लौटाएगा, क्योंकि प्रत्येक मॉडल उदाहरण में pk फ़ील्ड है, भले ही इसे अभी तक डेटाबेस में सहेजा नहीं गया है।

+0

ठीक है धन्यवाद, यही वह है जिसे हम करना चुनते हैं। – Natim