防止重复数据库中的数据

时间:2017-09-17 03:23:17

标签: python django

这里是视图中的代码,

def index(request):
    data = Model.objects.create(user=request.user, timestamp=timezone.now())

每当请求视图时,我都会保存请求它的用户&用户请求页面的时间戳。

但是,它在数据库中使用更新的时间戳重复相同的数据。如何在请求视图时通过更新同一实例来阻止重复?

请帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用这种方式处理。如果没有数据,则创建其他更新。

def index(request):
    data = Model.objects.update_or_create(user=request.user, timestamp=timezone.now())
  

可替换地:

def index(request):

    data = Model.objects.get(user=request.user)

    if not data:
        data = Model.objects.create(user=request.user, timestamp=timezone.now())
    else:
        data = Model.objects.update(user=request.user, timestamp=timezone.now())