在Django中,如何在没有数据的情况下处理get()

时间:2017-04-13 19:38:47

标签: python django

我在Django中有这一行:

data['Sponsor'] = models.Family.objects.get(Dependent=data['member'])

我知道一个事实,无论是一条记录还是没有记录。 但是当filter()返回时,get()似乎错误输出。 我只需要一个记录,如果有的话。如何使用get()充当filter()

感谢。

2 个答案:

答案 0 :(得分:2)

使用.first()

int i = 0;
while(digits[i] == 0) i++;
for (; i < size; i++)
   result += to_string(digits[i]);

如果没有商品,则会返回data['Sponsor'] = models.Family.objects.filter(Dependent=data['member']).first()

答案 1 :(得分:-1)

如果该记录不存在,则抛出DoesNotExist异常。 你可以抓住它并根据需要处理。

try:
    data['Sponsor'] = models.Family.objects.get(Dependent=data['member'])
except Family.DoesNotExist:
    data['Sponsor'] = None