Только что перешел с Django 1.00 на 1.30, и я неожиданно получаю сообщение об ошибке во время проверки формы:
AttributeError: 'QuerySet' object has no attribute 'append'
Код ниже.При очистке списка координаторов, указанных пользователем в форме, я хочу также включить всех суперпользователей.
Кажется, проблема в том, что вызов cleaned_data.get () возвращает QuerySet.Я думал, что он возвращает объект, представляющий тип поля.Как я уже говорил выше, этот код работал в версии 1.0, но, возможно, это был несчастный случай.
Может кто-нибудь сказать мне, что cleaned_data.get возвращает в этом случае и как я могу добавить к нему другие значения?
Спасибо.
class Party(models.Model):
coordinators = models.ManyToManyField( 'PersonProfile', blank=True, related_name='event_coordinator_set', help_text='' )
class PartyForm(ModelForm):
class Meta:
model = Party
def __init__( self, *args, **kwargs ):
super( PartyForm, self ).__init__(*args, **kwargs)
self.fields['coordinators'].queryset = PersonProfile.objects.exclude( user__is_superuser=1 )
def clean_coordinators( self ):
coordinators = self.cleaned_data.get( 'coordinators', '' )
superuser_list = PersonProfile.objects.filter( user__is_superuser=1 )
for superuser in superuser_list:
coordinators.append( superuser )
return coordinators