Ich habe einen Kalender, der mit der aktuellen Admin-Verbindung verbunden sein soll. Wenn der Administrator ein Datum im Kalender auswählt und das Formular registriert, sodass das Ereignis festgelegt wird. Aber wenn ich mich bei einer anderen Admins-Organisation anmelde, kann ich das Event immer noch vom letzten Admin sehen. Ich möchte sie getrennt voneinander halten.Django - verhindern, dass Benutzer auf den gleichen Wert zugreifen können
Noch ein Neuling, so führe mich auf die richtige Weise und schätze all deine Hilfe, Leute!
models.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)
views.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
wie mache ich das bitte? – Niknak