ইউনিট পরীক্ষার জন্য জ্যাঙ্গো সেটিংসকে ওভাররাইড করার জন্য কি কোনও সহজ পদ্ধতি আছে? আমার মডেলগুলির একটিতে আমার একজন পরিচালক রয়েছেন যা সর্বশেষতম অবজেক্টগুলির একটি নির্দিষ্ট সংখ্যক ফিরিয়ে দেয়। এটি প্রত্যাবর্তনকারী অবজেক্টের সংখ্যা একটি NUM_LATEST সেটিং দ্বারা সংজ্ঞায়িত করা হয়।
কেউ যদি সেটিংস পরিবর্তন করে থাকে তবে আমার পরীক্ষাগুলিকে ব্যর্থ করার সম্ভাবনা রয়েছে। আমি কীভাবে সেটিংসগুলিকে ওভাররাইড করতে পারি setUp()
এবং পরে সেগুলি পুনরুদ্ধার করতে tearDown()
পারি? যদি এটি সম্ভব না হয়, তবে আমি উপায়টি প্যাচ করতে বা সেটিংসকে উপহাস করার কোনও উপায় আছে কি?
সম্পাদনা: এখানে আমার পরিচালক কোড:
class LatestManager(models.Manager):
"""
Returns a specific number of the most recent public Articles as defined by
the NEWS_LATEST_MAX setting.
"""
def get_query_set(self):
num_latest = getattr(settings, 'NEWS_NUM_LATEST', 10)
return super(LatestManager, self).get_query_set().filter(is_public=True)[:num_latest]
ম্যানেজার settings.NEWS_LATEST_MAX
ক্যোরিসেটটি স্লাইস করতে ব্যবহার করে। getattr()
কেবল একটি ডিফল্ট সেটিং অস্তিত্ব করা উচিত নয় প্রদান করতে ব্যবহৃত হয়।