[英]How to disable or hide assign/redirect button if the ID already exist in other table on django
class Patient(models.Model):
name = models.CharField(max_length=50)
active_choices = [('Yes', 'Yes'),
('No', 'No')]
active = models.CharField(
max_length=6, choices=active_choices, default='Yes')
def __str__(self):
return self.name
另一種是:
class Ticket(models.Model):
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
is_active = models.IntegerField(default=1)
def __str__(self):
return self.patient.name
在 Views.py
@login_required
def PatientView(request):
form = PatientModelForm(request.POST or None)
patients = Patient.objects.order_by('-id')
ticket_list = Ticket.objects.filter(is_active=0)
total = patient_list.count()
if form.is_valid():
obj.save()
messages.success(request, 'Patient was added successfully.')
return redirect('/dashboard/patient')
context = {
'form': form,
'patients ': patients ,
}
return render(request, 'dashboard/patient.html', context)
票的另一個視圖:
@login_required
def TicketToGenerateView(request, pk):
ticket = get_object_or_404(Patient, pk=pk)
form = TicketModelForm(request.POST or None)
if form.is_valid():
obj.save()
messages.success(request, 'Patient assigned successfully.')
return redirect('/dashboard/ticket')
context = {
'form': form,
'ticket': ticket,
}
return render(request, 'dashboard/ticket.html', context)
所以我想隱藏這個波紋管鏈接按鈕,如果patient.pk已經存在於Ticket模型中並且is_active = 1所以它會顯示所有帶有分配鏈接按鈕的行。
<a href="{% url 'dashboard:ticket_to' patient.pk %}" name="doctor" class="btn btn-dark btn-sm" data-toggle="tooltip" title="Assign to a Doctor"> <span class=" fa fa-user-md "></span> </a>
您可以使用自定義模板標簽
在你的app目錄下創建一個templatetags
包; 所以你應該在你的應用程序目錄中有這些:
templatetags
templatetags/__init__.py
templatetags/check_patient.py
接下來,將以下代碼添加到<your_app_dir>/templatetags/check_patient
:
from django import template
from <your_app>.models import Ticket
register = template.Library()
@register.simple_tag
def check_patient_already_exists(request, pk):
return Ticket.objects.filter(patient_pk=pk, is_active=1).exists()
並在您的模板中:
{% load check_patient %}
{% if not check_patient_already_exists patient.pk %}
<a href="{% url 'dashboard:ticket_to' patient.pk %}" name="doctor" class="btn btn-dark btn-sm" data-toggle="tooltip" title="Assign to a Doctor"> <span class=" fa fa-user-md "></span> </a>
{% endif %}
查看文檔以獲取更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.