предварительно заполненное поле и функция () - PullRequest
1 голос
/ 09 марта 2012

, насколько я понимаю, предварительно заполненные поля не должны включать foriegnkey.я подумал об обходном пути.

в моей модели .. я определил функцию по имени getname ()

def getname(self):
    t1 = str(self.team_one)
    t2 = str(self.team_two)
    t1t2 = t1 + ' vs ' + t2
    return t1t2

и подумал о вызове ее в моем админе .. вот как яЯ делаю это.

prepopulated_fields = { 'name': ('getname()',)}

это должно решить мою проблему, но это то, что говорит django.

Exception Type: ImproperlyConfigured
Exception Value:    
'FixtureAdmin.prepopulated_fields['name'][0]' refers to field 'getname' that is missing from model 'Fixture'.

Есть ли работа вокруг этого, или я должен отказаться от идеи?1012 *

// мышь

1 Ответ

1 голос
/ 09 марта 2012

prepopulated_fields только для слизней; это не какой-то обобщенный способ присвоить полю значение по умолчанию.

Для этого вам придется написать собственный JavaScript. Что-то вроде следующего должно помочь:

$('#id_team_one, #id_team_two').change(function(){
    var $team1 = $('#id_team_one');
    var $team2 = $('#id_team_two');
    if ($team1.val() && $team2.val()) {
        var team1_selected = $(':selected', $team1).text();
        var team2_selected = $(':selected', $team2).text();
        $('#id_name').val(team1_selected + ' vs ' + team2_selected);
    }
});
...