什么是正确的方式来validation,如果一个对象存在于Django视图而不返回404?
基本上只是validation一个对象是否存在并返回对象。 然后根据执行的行动。 我想知道什么是正确的方式来做到这一点,而不返回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更清楚:除了block和其他时间单线程存在()使得代码看起来更清晰…都取决于您的应用程序逻辑。
listing = RealEstateListing.objects.filter(slug_url=slug).first()