Как скрыть элементы, уже выбранные в флажках в Django Admin - PullRequest
1 голос
/ 27 февраля 2020

Итак, у меня есть эта модель в моем приложении:

class Loan(models.Model):

loan_device = models.OneToOneField(Device, max_length=50, verbose_name='Dispositivo de Empréstimo', on_delete=models.CASCADE, null=True)

Важно: loan_device это отношение один к одному с устройством модель

Вкл. Django Администратор, когда кто-либо выбирает любое зарегистрированное устройство, оно продолжает отображаться в флажках, даже если оно было выбрано ранее. Мой вопрос: как скрыть элементы, уже выбранные в флажках?

1 Ответ

0 голосов
/ 27 февраля 2020

Вы можете использовать параметр limit_choices_to=… [Django -doc] :

from django.db.models import Q

class Loan(models.Model):
    loan_device = models.OneToOneField(
        Device,
        max_length=50,
        verbose_name='Dispositivo de Empréstimo',
        on_delete=models.CASCADE,
        null=True
        <b>limit_choices_to=Q(loan=None)</b>
    )
...