ما هي الطريقة الصحيحة للتحقق من صحة ما إذا كان يوجد كائن في طريقة عرض جانغو دون العودة 404؟
-
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()
لا تنتمي إلى StackOverflow