Прежде всего я хотел бы сказать, что я новичок в Django и Python.
Я пишу приложение, используя Django 2.0. У меня есть два уделы к пользователь : функция пациент и ответственность . А пациент нуждается в пользователя существовать и отвечает нуждается в пациент существовать. А ответственность может иметь несколько пациенты но один пациент может иметь только один ответственный.
Однако у меня возникла следующая проблема: Пациент не может нести ответственность за себя, и в настоящее время это происходит. Как мне предотвратить это?
модель пациента:
class Patient(models.Model):
user = models.OneToOneField(User, related_name='patient',
on_delete=models.CASCADE, unique=True)
(...)
ответственная модель:
class Responsible(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,
limit_choices_to=Q(patient=None))
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
Как видите, я использую "limit_choices_to", но это приводит к тому, что все пользователи, являющиеся пациентами, не отображаются в списке, когда я создаю нового ответственного.
это может помочь coderhelper.com/questions/869856/…
@AMG Мне удалось решить это по-другому, как указано в комментарии ниже. В любом случае спасибо за вашу помощь, поскольку она помогла мне найти решение.