Как я могу применить проверку в администраторе к различным полям, когда они зависят друг от друга?
Например, скажем, у меня есть поле A (BooleanField) и поле B (CharField), что я хочу сделатьесли в поле «Администратор» выберите поле «A» (флажок) и ничего не вводите в поле «B», и если он попытается сохранить, то должно появиться сообщение об ошибке, похожее на обычный пробел = «False».Так как я могу сделать такой вид проверки в админ.
Например, вариант использования
У меня есть таблица, имеющая следующую структуру: -
INTERVIEW_TYPES = (
('default', 'None'),
('Paired Visit','Paired Visit'),
('Time Series', 'Time Series'),
),
класс Интервью (models.Model):
ic_number = models.CharField(verbose_name ="Visit Configuration Number",max_length=20,unique=True,null =True,blank=True)
ic_description = models.TextField(verbose_name ="Visit Configuration Description",null = True,blank=True)
title = models.CharField(verbose_name ="Visit Configuration Title",max_length=80,unique=True)
starting_section = models.ForeignKey(Section)
interview_type = models.CharField(verbose_name = "Mapped Visit",choices=CHOICES.INTERVIEW_TYPES, max_length=80, default="Time Series")
select_rating = models.CharField(choices=CHOICES.QUESTION_RATING, max_length=80, default="Select Rating")
view_notes = models.CharField(choices=CHOICES.VIEW_NOTES, max_length=80, default="Display Notes")
revisit = models.BooleanField(default=False)
..... и так далее ......
class Meta:
verbose_name = 'Visit Configuration'
verbose_name_plural = 'Visit Configurations'
# ordering = ('rpn_number',)
def __unicode__(self):
return self.title
Свой admin.py
класс InterviewAdmin (admin.ModelAdmin):
list_display = ('id','title', 'starting_section','ic_number','show_prior_responses')
raw_id_fields = ('starting_section',)
admin.site.register (Interview, InterviewAdmin)
В админке, если я установил флажок, чтобы вернуться и вполе интервью_типа (в котором будет отображаться раскрывающийся список с вариантами выбора «Нет», «Парное посещение», «Временные ряды»), если пользователь выбрал значение «Нет» в этом раскрывающемся списке, а затем нажмите кнопку «Сохранить», это вызовет ошибку, похожую на обычный пробел.поле обязательно для заполнения "
Как я могу сделать такую проверку, когда поля зависят друг от друга?
Пожалуйста, игнорируйте синтаксическую ошибку, любую.
Спасибо