Возможно ли скрыть часть элементов в forms.Select? А если нет, то как визуализировать для пользователя полу OneToOne Field?

Столкнулся с проблемой отображения поля OneToOne Field. Суть такова, что есть две модели, "Статус АСК" и "Компьютер", в модели "Статус АСК" есть поле "comps_to_work" которое обозначает номер привязанного компьютера из модели "Компьютер", тоесть, у одного АСК один комп(OneToOne Field). Пользователю при заполнении формы ( Добавить Статус АСК html file "index_S) предлагается выбрать из списка существующих компьютеров из модели "Компьютер". Проблема в том, что в этом списке отображены все компы, и те которые уже привязаны, и те, которым только предстоит. Как скрыть те, которые уже привязаны? Js или есть какой то иной способ?

forms.py:

class StatusForm(ModelForm):
    class Meta:
        model = ASKstatus
        fields = ["number", "ASK_number", "name", "product_name", "note", "comps_to_work"]
        widgets = {
         ...тут еще не нужный код  с описанием других полей...

            "comps_to_work": forms.Select(attrs={
                'class': 'form-control',
                'placeholder': 'Номер компьютера'
            })
        }

models.py:

class Computer(models.Model):
 
    number = models.CharField('Номер компьютера', max_length=6, blank=True)
    ...ещё код с описанием полей...

    def __str__(self):
        return f'{self.number}'

    class Meta:
        verbose_name = 'Компьютер'
        verbose_name_plural = 'Компьютеры'


class ASKstatus(models.Model):
     ...ещё код с описанием полей...
    comps_to_work = models.OneToOneField('Computer', on_delete=models.SET_NULL, null=True, blank=True)

    class Meta:
        verbose_name = 'Статус'
        verbose_name_plural = 'Статусы'

views.py:

def add_ASK(request):
    error = ''
    if request.method == 'POST':
        form = StatusForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('/index_S')
        else:
            error = 'Неверная форма данных'

    form = StatusForm()
    context = {
        'form': form,
        'error': error
    }
    return render(request, "base_comp/add_ASK.html", context)

html file "index_S":

<!doctype html>
{% extends 'base_comp/base.html'%}
{% block content %}
<html>
<head>
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
</head>
<body>
    <table class="table table-hover table-sm table-bordered" style="margin-top: 20px">
        <thead class ="table-dark">
            <tr>
                <th width>№ п/п </th>
                <th width>№ АСК</th>
                <th width>Название</th>
                <th width>Изделие</th>
                <th width>Примечание</th>
                <th width>Номер компьютера</th>
            </tr>
        </thead>
        <tbody>
            {% if status %}
                {% for ask in status %}
                    <tr>
                        <td width>{{ask.number}}</td>
                        <td width>{{ask.ASK_number}}</td>
                        <td width>{{ask.name}}</td>
                        <td width>{{ask.product_name}}</td>
                        <td width>{{ask.note}}</td>
                        <td width>{{ask.comps_to_work}}</td>
                    </tr>
                {% endfor %}
            {% else %}
                <p> У нас нет записей, самое время их написать</p>
            {% endif %}
        </tbody>
    </table>
</body>
</html>
{% endblock  %}

Ответы (0 шт):