Django阻止用户访问相同的值

2024-05-19 02:54:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个日历,应该连接到当前的管理员协会。当管理员在日历中选择一个日期并注册表单以便设置事件时。但是当我使用另一个管理员关联登录时,我仍然可以看到上一个管理员的事件。我想把它们分开

还是个新手,所以请用正确的方式指导我,谢谢你们的帮助,伙计们


型号.py

class Administrator(AbstractUser):
        ...
        association = models.ForeignKey(Association)


class Event(models.Model):
        ...
        association = models.ForeignKey(Association)


class Association(models.Model):
        asoc_name = models.CharField(max_length=50, null=True, blank=True)

视图.py

def event_add_edit(request):
   if request.method == 'POST':
       res = {'success': False}

       action = request.POST['action']
       name = request.POST['name']
       location = request.POST['location']
       start = request.POST['start']
       end = request.POST['end']
       allday = request.POST['allday'] == 'true'
       description = request.POST['description']
       synced = request.POST['synced'] == 'true'
       association = Association.objects.filter(asoc_name=request.user.association)
       asoc = Association.objects.get(id=association)

       if action == 'add':
           Event.objects.create(
              name=name,
              location=location,
              start=start,
              end=end,
              allday=allday,
              description=description,
              synced=synced,
              association=asoc
           )

           res['success'] = True
           res['message'] = 'added'
           eid = Event.objects.latest('id').id
           res['eid'] = eid
           res['data'] = Event.objects.values().get(id=eid)
       elif action == 'edit':


           eid = request.POST['eid']
           event = Event.objects.get(id=eid)
           event.name = name
           event.location = location
           event.start = start
           event.end = end
           event.allday = allday
           event.description = description
           event.synced = synced
           event.save()

           res['success'] = True
           res['message'] = 'edited'
           res['eid'] = eid
           res['data'] = Event.objects.values().get(id=eid)

       return JsonResponse(res)
   else:
       raise Http404


Tags: nameeventobjectsrequestreslocationdescriptionpost

热门问题