Подготовьте поля со значениями, если в Django отмечено другое поле - PullRequest
0 голосов
/ 11 октября 2019

В моей базе данных Django есть следующее:

skipUserPII = models.BooleanField(default=False)
first_name = models.CharField(max_length=40)
last_name = models.CharField(max_length=40)
address1 = models.CharField(max_length=100)

Иногда я создаю пользователя вручную. В этом случае я не хочу каждый раз заполнять их PII. Поэтому я создал новую переменную "skipUserPII", которая, если установлен флажок, заполняет все значения PII значением "na" (по сравнению с необходимостью вручную заполнять все мои поля PII некоторым значением по умолчанию, что позволяет мне сохранять форму в админке Django),

Я пытаюсь сделать это, используя следующий код, приведенный ниже, однако он дает мне ошибку «Пожалуйста, исправьте ошибки ниже».

def clean(self):

    if self.skipUserPII == True:
        def checkNone(field, value):
            if field == None: field = value

        checkNone(self.first_name, 'NA')
        checkNone(self.last_name, 'NA')
        checkNone(self.address1, 'NA')

Я пытался поместить этов clean и в save - ни одна не работает. Есть ли другое место, куда должен идти этот код?

1 Ответ

0 голосов
/ 11 октября 2019

field является локальным для функции checkNone и, таким образом, не влияет на сайт вызова.

Зачем заполнять эти поля "NA", хотя вместо того, чтобы сохранять эти поля обнуляемыми или пустыми?
Как насчет бедного иностранца, которого зовут NA NA? Как вы сможете отличить их от пользователя без PII?

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