В Django, как один сотрудник может добавить событие (задачу) в свой список work_plan?
У меня есть приложение, которое позволяет различным организаторам публиковать свои мероприятия (вакансии) для потенциальных работников (в данном случае воспитателей детей). BTW, одно событие требует только одного воспитателя. Репетитор может зарезервировать мероприятие, но не может удалить его без разрешения администратора/организатора. Также репетитор не может взять другое мероприятие, которое происходит в тот же день. Мне уже удалось показать все опубликованные мероприятия в виде списка. Но я застрял на том, как тьютор может зарезервировать это мероприятие, а затем добавить его в свой собственный список рабочих планов. В некоторых кодах могут быть опечатки, так как я много раз вносил изменения. Но надеюсь, вы поняли мою идею. Спасибо.
Вот несколько фотографий для лучшего понимания:
Я попробовал следующий код, после нажатия на кнопку резерва, он ничего не показывает.
вот вид
@login_required
@is_tutor
def work_plan(request):
user=request.user
work_plan=work_plan.objects.all()
context={'work_plan':work_plan}
return render(request,'work_plan.html',context)
@login_required #reserve event
@is_tutor
def add_to_work_plan(request,pk):
event =Summer_event.objects.get(id=pk)
if request.method == "POST":
if request.session.get("add_to_work_plan"):
requst.session['add_to_work_plan'].append(pk)
else:
requst.session['add_to_work_plan']=[pk]
work_plan.save()
messages.success(request, "Work plan updated!")
return redirect('work_plan')
Модель:
class Work_plan(Summerevent):
user=models.ForeignKey(get_user_model(),on_delete=models.CASCADE)
reserved_date = models.DateField(null=True,auto_now_add=True)
Url:
path('work_plan/', views.work_plan, name="work_plan"),
path('add_to_work_plan/<str:pk>/', views.add_to_work_plan, name="add_to_work_plan"),
html шаблон
{% extends "header.html" %}
{% block title %}{{section.title}}"{% endblock %}
{% block content %}
{% if events %}
<ul>
{% for event in event_plan %}
<li>organization name: {{event.org_name}}</li>
<li>event id is: {{event.id}}</li>
<li> event_org_id:{{event.org_id}}</li>
<li> org phone:{{event.org.phone}}</li>
.......
<p> -----------------</p>
{% endfor %}
<ul>
{% else %}
<p> No event is available</p>
{% endif %}
{% endblock %}