ডাটাবেস থেকে জ্যাঙ্গো অবজেক্টের অবস্থা কি রিফ্রেশ করা সম্ভব? আমার অর্থ আচরণ মোটামুটি সমান:
new_self = self.__class__.objects.get(pk=self.pk)
for each field of the record:
setattr(self, field, getattr(new_self, field))
আপডেট: ট্র্যাকারে একটি পুনরায় খোলা / ওয়ন্টফিক্স যুদ্ধের সন্ধান পেয়েছে: http://code.djangoproject.com/ticket/901 । তবুও বুঝতে পারছেন না কেন রক্ষণাবেক্ষণকারীরা এটি পছন্দ করেন না।
এটি একটি অযথা ফাংশন বলে মনে হচ্ছে; এটি ইতিমধ্যে ডাটাবেস থেকে অবজেক্টটি পুনরায় দেখা সম্ভব।
—
স্টিফান
আমি এটিও চাই, তবে এটি এখানে
—
ইউরোপীয় রূপটি
এটি যথাযথ নয় কারণ জ্যাঙ্গো মডেল অবজেক্টগুলি প্রক্সি। যদি আপনি একই টেবিলের সারিটি দুটি বস্তুতে পেয়ে থাকেন - x1 = X.objects.get (id = 1); x2 = X.objects.get (id = 1), তারা সমান হিসাবে পরীক্ষা করবে তবে তারা পৃথক বস্তু এবং রাষ্ট্র ভাগ হয় নি। আপনি উভয় স্বাধীনভাবে পরিবর্তন করতে পারেন এবং সেগুলি সংরক্ষণ করতে পারেন - শেষটি সংরক্ষিত ডাটাবেজে সারিটির অবস্থান নির্ধারণ করে। সুতরাং সাধারণ অ্যাসাইনমেন্ট - x1 = X.objects.get (আইডি = 1) দিয়ে পুনরায় লোড করা সঠিক। পুনরায় লোড পদ্ধতিটি থাকার ফলে অনেক লোক ভুলভাবে সেই x1.f = 'নতুন মান' অনুমান করে; (x1.f == x2.f) সত্য।
—
পল হিপ্প
commmit
। একবার এটি হয়ে গেলে, আপনাকে পরবর্তী এসকিউএল লেনদেনের জন্য অপেক্ষা করতে হবে। কেন যে? আপনি পরবর্তী লেনদেনের জন্য কতক্ষণ অপেক্ষা করতে যাচ্ছেন?