как отображать конкретные результаты из выпадающего в models.py в Django - PullRequest
0 голосов
/ 01 декабря 2019

Я хочу отображать только тех сотрудников, для которых emp_type - «Доктор»?

** Вот Models.py **

class Employee(models.Model):
    name = models.CharField(max_length=50)
    emp_type_choices = [
        ('Nurse', 'Nurse'),
        ('Doctor', 'Doctor'),
        ('Other', 'Other'),
    ]
    emp_type = models.CharField(
        max_length=6, choices=emp_type_choices, default='Nurse')
    def __str__(self):
        return self.name


class Ticket(models.Model):
    patient = models.CharField(max_length=50)
    doctor = models.ForeignKey(Employee, on_delete=models.CASCADE)
    def __str__(self):
        return self.patient.name

Это мой Forms.py

class TicketModelForm(forms.ModelForm):
    class Meta:
        model = Ticket
        fields = ['doctor', 'status']
        widgets = {
            'doctor': forms.Select(attrs={'class': 'form-control','placeholder': 'Doctor Name'}),        
        }

Это мой Views.py

@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()
        return redirect('/dashboard/ticket')
    context = {
        'form': form,
        'ticket': ticket,
    }
    return render(request, 'dashboard/ticket.html', context)

Это мой шаблон

 <form action="." method="POST">
            {% csrf_token %}.
            {% for field in form %}
            <div class="form-group">
                {{ field }}
                {% if field.errors %}
                {% for error in field.errors %}
                <p class="text-danger">{{ error|escape }}</p>
                {% endfor %}
                {% endif %}
            </div>
            {% endfor %}
            <div class="form-group float-right">         
                <button type="submit" class="btn btn-success btn-sm" value=" {{ valueBtn }} "> <span
                        class="glyphicon glyphicon-plus"></span> </button>
            </div>
        </form>

В шаблоне я отображаю всех зарегистрированных сотрудников в виде раскрывающегося списка, но я хотел бы отображать только сотрудников, чей emp_type - «Доктор».

Также на сайте администратора я хотел бы видеть толькоemp_type, которые 'Доктор'.

Спасибо

1 Ответ

1 голос
/ 01 декабря 2019
# You have to use filter for your query

emp_doctor = Employee.objects.filter(emp_type='Doctor')

print(emp_doctor)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...