如果数据与我的基础中已存在的其他数据冲突,我想无法将数据插入到我的数据库中。我的意思是:
假设我想在以下条件下插入数据库字段start_date
和end_date
:
-period (start_date; end_date)
不能与我的基础
有什么好的,快速的方法可以在django中查看它吗?
可能我可以手动遍历整个数据库,但是可能有任何不错的包装器吗?
答案 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