検索

ホームページ  >  に質問  >  本文

怎么在Django框架中获取单个对象数据?

怎么在Django框架中获取单个对象数据?

baby不要哭泣baby不要哭泣2880日前845

全員に返信(2)返信します

  • 数据分析师

    数据分析师2017-10-01 00:02:17

    Django フレームワークで単一のオブジェクト データを取得するにはどうすればよいですか? - PHP 中国語 Web サイト Q&A - Django フレームワークで単一オブジェクト データを取得するにはどうすればよいですか? -PHP中国語サイトQ&A

    ぜひ見て学んでください。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-02-10 09:28:26

    相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的:

    >>> Publisher.objects.get(name="Apress")
    <Publisher: Apress>

    这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。 所以,如果结果是多个对象,会导致抛出异常:

    >>> Publisher.objects.get(country="U.S.A.")
    Traceback (most recent call last):
      ...
    MultipleObjectsReturned: get() returned more than one Publisher --
      it returned 2! Lookup parameters were {'country': 'U.S.A.'}

    如果查询没有返回结果也会抛出异常:

    >>> Publisher.objects.get(name="Penguin")
    Traceback (most recent call last):
      ...
    DoesNotExist: Publisher matching query does not exist.

    这个 DoesNotExist 异常 是 Publisher 这个 model 类的一个属性,即 Publisher.DoesNotExist。在你的应用中,你可以捕获并处理这个异常,像这样:

    try:
      p = Publisher.objects.get(name='Apress')
    except Publisher.DoesNotExist:
      print "Apress isn't in the database yet."
    else:
      print "Apress is in the database."


    返事
    0
  • キャンセル返事