जोड़ने से पहले कोई ऑब्जेक्ट पहले से मौजूद है या नहीं, यह एक बहुत ही सरल Django प्रश्न है, लेकिन मुझे शिकार के बावजूद Django दस्तावेज़ों में इसका जवाब नहीं मिल रहा है!Django: जांचें कि
मैं कैसे जांचूं कि कोई ऑब्जेक्ट पहले से मौजूद है या नहीं, और केवल पहले से मौजूद है तो इसे जोड़ें?
यहां कोड है - मैं डेटाबेस में दो बार follow_role जोड़ना नहीं चाहता अगर यह पहले से मौजूद है। मैं पहले कैसे जांच करूं? प्राप्त करें() हो सकता है - लेकिन फिर Django शिकायत करेगा अगर() कुछ भी वापस नहीं करता है?
current_user = request.user
follow_role = UserToUserRole(from_user=current_user, to_user=user, role='follow')
follow_role.save()
धन्यवाद!
role, created = UserToUserRole.objects.get_or_create(
from_user=current_user, to_user=user, role='follow')
यह (मॉडल, bool) के एक टपल जहां 'मॉडल' वस्तु में आपकी रुचि है और है रिटर्न:
शानदार। समस्या हल करता है। धन्यवाद! क्या कोई ऑब्जेक्ट मौजूद है या नहीं, यह जांचने के लिए कोई ठोस कार्य है, और यदि ऐसा नहीं है तो कुछ भी नहीं करें? – AP257
मुझे अपने सिर के ऊपर से एक सहायक फ़ंक्शन के बारे में पता नहीं है, लेकिन मुझे लगता है कि आप UserToUserRole.objects.filter (...) कर सकते हैं। हटाएं()। यह आपको यह जांचने का एक तरीका नहीं देगा कि वस्तु वास्तव में मौजूद है या नहीं। आपको हटाने से पहले अपने क्वेरी सेट पर गिनती() की जांच करनी होगी। बेशक, आप \ _or \ _create स्रोत प्राप्त करने पर एक झलक ले सकते हैं और अपना स्वयं का सहायक कार्य पर्याप्त आसान बना सकते हैं। –
ठीक है। बहुत स्पष्ट उत्तर के लिए फिर से धन्यवाद! – AP257