如果数据与现有数据冲突,则无法将数据插入数据库

时间:2013-04-21 23:49:01

标签: django

如果数据与我的基础中已存在的其他数据冲突,我想无法将数据插入到我的数据库中。我的意思是:

假设我想在以下条件下插入数据库字段start_dateend_date

-period (start_date; end_date)不能与我的基础

中的任何其他句点相交

有什么好的,快速的方法可以在django中查看它吗?

可能我可以手动遍历整个数据库,但是可能有任何不错的包装器吗?

1 个答案:

答案 0 :(得分:1)

我建议做类似以下的事情:

lower = Entry.objects.filter(start_date__lte=new_start)
lower = lower.filter(end_date_gte=new_start)

upper = Entry.objects.filter(start_date__lte=new_end)
upper = upper.filter(end_date_gte=new_end)

valid = len(lower) == 0 and len(upper) == 0

if valid:
    # Do the insert
    pass