Переопределите метод init и примите новый аргумент ключевого слова
class AccountDetailsForm(forms.Form):
...
adminuser = forms.ModelChoiceField(queryset=User.objects.all())
def __init__(self, *args, **kwargs):
accountid = kwargs.pop('accountid', None)
super(AccountDetailsForm, self).__init__(*args, **kwargs)
if accountid:
self.fields['adminuser'].queryset = User.objects.filter(account=accountid)
form = AccountDetailsForm(accountid=3)
Вы всегда можете просто вручную выбирать варианты в представлении.
form = AccountDetailsForm()
form.fields['adminuser'].queryset = User.objects.filter(account=accountid)
Будьте осторожны: вы not устанавливаете значения по умолчанию, передавая словарь в форму, как в вашем примере.
Фактически вы создаете связанную форму, потенциально вызывая проверку и все это jazz.
Для установки значений по умолчанию используйте аргумент initials.
form = AccountDetailsForm(initial={'adminuser':'3'})
Вы могли переустановить resolvconf для восстановления конфигурации по умолчанию:
sudo apt-get install --reinstall resolvconf
Другая идея была бы, удалите "resolvconf" и затем установите:
sudo apt-get remove --purge resolvconf && sudo apt-get install resolvconf
Если resolvconf -u
шоу ПРЕДУПРЕЖДЕНИЕ, которое /etc/resolv.conf
не символьная ссылка на /run/resolvconf/resolv.conf
затем просто резервное копирование, что resolv.conf и делают символьную ссылку:
$ cd /etc
$ sudo ln -s /run/resolvconf/resolv.conf
Вы освободили свой мусор, в противном случае можно ли восстановить от мусора.