ما هي الطريقة الصحيحة للتحقق من صحة ما إذا كان يوجد كائن في طريقة عرض جانغو دون العودة 404؟

StackOverflow https://stackoverflow.com/questions/639836

  •  11-07-2019
  •  | 
  •  

سؤال

ولست بحاجة للتحقق من حالة وجود كائن والعودة الكائن، ثم على أساس أن تنفيذ الإجراءات. ما هي الطريقة الصحيحة للقيام بذلك دون العودة 404؟

try:
    listing = RealEstateListing.objects.get(slug_url = slug)
except:
    listing = None

if listing:
هل كانت مفيدة؟

المحلول

وأنا لن تستخدم المجمع 404 إذا لم يتم منحك 404. وهذا هو سوء استخدام القصد. مجرد قبض على DoesNotExist، بدلا من ذلك.

try:
    listing = RealEstateListing.objects.get(slug_url=slug)
except RealEstateListing.DoesNotExist:
    listing = None

نصائح أخرى

ويمكنك أيضا القيام:

if not RealEstateListing.objects.filter(slug_url=slug).exists():
    # do stuff...

في بعض الأحيان أنها أكثر وضوحا لاستخدام كتلة try: except: وأحيانا أخرى أونيلينير exists() يجعل رمز أبحث أكثر وضوحا ... كل هذا يتوقف على منطق التطبيق الخاص بك.

listing = RealEstateListing.objects.filter(slug_url=slug).first() 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top