REST Framework написание проверки пользовательских полей - PullRequest
0 голосов
/ 23 мая 2018

Можно ли добавить сериализацию проверки пользовательских полей, которая будет показывать только определенное поле в представлениях в зависимости от указанного условия.Например, из приведенной ниже модели есть класс посещений, который учитывает посещения пациентов.В зависимости от следующих статусов, представленных ниже, можно просматривать только определенные поля, например, предположить, что пациент прибывает, следует видеть только visit_start_date, status_time будет записано и т. Д.

  STATUSES=('
    ('ARRIVED','Arrived'),
    ('CHECKED_IN','Checked In'),
    ('IN_ROOM','In Room'),
    ('CANCELLED','Cancelled'),
    ('COMPLETE','Complete')

)

class Visit(models.Model):
    patient = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        related_name='rel_visits')
    discharge_notes = models.TextField(
        default=None,
        blank=True,
        null=True)

    discharged = models.NullBooleanField(default=False, null=True, blank=True)
    admitted = models.NullBooleanField(default=False, null=True, blank=True)
    current = models.NullBooleanField(default=False, null=True, blank=True)
    status_time = models.DateTimeField(auto_now_add=True)
    status = models.ChoiceField(max_length=20,choices=STATUSES)
    visit_start_time = models.DateTimeField(blank=True)
    visit_duration = models.IntegerField(blank=True)
    session_start_time = models.DateTimeField(blank=True)
    session_end_time = models.DateTimeField(blank=True)
    check_in = models.BooleanField(default=False)
    check_out = models.BooleanField(default=False)

Вот как выглядит полная форма: enter image description here

1 Ответ

0 голосов
/ 24 мая 2018

В вашей модели посещения пациент - это auth_user_model (пользователь Django), поэтому вы можете добавить разрешение пациенту (auth_user_model),

1)create custom permission of auth user then
2)create a group called patient, add custom permission on this group.

, а затем написать запрос в views.py в соответствии с разрешением.

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