Предварительное заселение Джанго + добавление фиксированной строки - PullRequest
1 голос
/ 06 августа 2011

Рассмотрим следующую (упрощенную) модель Джанго:

Noun(models.Model):
    noun = models.CharField(max_length=30)
    plural = models.CharField(max_length=30)

Я хочу, чтобы я мог ввести, скажем, 'cat' в поле существительного и чтобы в поле множественного числа автоматически вводились слова 'cats'. То есть я хочу определить строку, которая будет добавлена ​​в конец предварительно заполненного поля. Возможно ли это?

Я знаю, что могу предварительно заполнить его с помощью 'cat' с соответствующей настройкой в ​​admin.py, но этого недостаточно. Конечно, также важно, чтобы я мог редактировать запись после предопуляции (в случае неправильных слов). Любые идеи будут высоко оценены.

1 Ответ

2 голосов
/ 06 августа 2011

Сделайте множественное число пустым = True и сделайте что-то подобное в вашем save ():

def save(self, *args, **kwargs):
    if not self.plural:
        self.plural = self.noun + 's'
    super(Noun, self).save(*args, **kwargs)

Я бы на самом деле сделал это на стороне клиента javascript, чтобы специалист по вводу данных мог исправить ошибку, если она неверна.

...