from django import forms from django.forms import ModelForm from specializations.models import Specialization from .models import User, ContractorFinancialInfo class UserEditForm(ModelForm): def __init__(self, *args, **kwargs): # import code; code.interact(local=dict(globals(), **locals())) super().__init__(*args, **kwargs) self.fields['contractor_specializations'].queryset = kwargs.get('instance').contractor_specializations.all() class Meta: model = User fields = ( 'first_name', 'last_name', 'patronym', 'location', 'date_of_birth', 'website', 'skype', 'avatar', 'contractor_specializations', ) widgets = { 'date_of_birth': forms.SelectDateWidget(years=range(1940, 2015)), # 'contractor_specializations': forms.Select(), } class ContractorFinancicalInfoForm(ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['residency'].choices = self.fields['residency'].choices[1:] self.fields['legal_status'].choices = self.fields['legal_status'].choices[1:] # self.fields['residency'].empty_label = None # self.fields['residency'].widget.choices = self.fields['residency'].choices class Meta: model = ContractorFinancialInfo fields = ( 'fio', 'date_of_birth', 'phone', 'residency', 'legal_status', 'passport_series', 'passport_number', 'subdivision_code', 'passport_issued_by', 'passport_issue_date', 'inn', 'yandex_money', 'credit_card_number', 'passport_scan', ) widgets = { 'residency': forms.RadioSelect(), 'legal_status': forms.RadioSelect(), }