如何使用Django在数据库中插入NULL

时间:2011-06-09 10:03:12

标签: database django django-models integer nullable

我在Django中插入NULL时遇到问题。我的意思是我不知道该怎么做。

我有函数,让我们调用它find_position,然后我在模型中有字段position(IntegerField,null = True,blank = True)。这个函数检查一些html代码,如果它与一些正则表达式匹配,它返回整数,但是如果它没有找到 - 必须返回NULL或None或者我可以放在数据库中的东西。

 def find_position(self, to_find, something): 
   ...
       if re.search(to_find, something): 
           return i + (page * 10) + 1 
    return NULL # or what i have to return here?

我有这个:

_position = find_position(to_find, something)
p = Result(position=_position, ...)
r.save()

以前我使用position的CharField,如果找不到结果则返回' - '。但是我在计算总结果时遇到了问题,例如position__lte = 10(因为它不是integer而且它与数字和字符串-搞混了。

我该怎么办?

1 个答案:

答案 0 :(得分:6)

使函数返回None(或不返回任何内容,与返回None相同),在数据库中将保存Null

 def find_position(self, to_find, something): 
   ...
       if re.search(to_find, something): 
           return i + (page * 10) + 1 
    return None