You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

forms.py 752B

12345678910111213141516171819202122232425
  1. from django.conf import settings
  2. from django.forms import ModelForm
  3. from django.db.models import get_model
  4. UserAddress = get_model('address', 'useraddress')
  5. class AbstractAddressForm(ModelForm):
  6. def __init__(self, *args, **kwargs):
  7. """
  8. Set fields in OSCAR_REQUIRED_ADDRESS_FIELDS as required.
  9. """
  10. super(AbstractAddressForm, self).__init__(*args, **kwargs)
  11. field_names = (set(self.fields) &
  12. set(settings.OSCAR_REQUIRED_ADDRESS_FIELDS))
  13. for field_name in field_names:
  14. self.fields[field_name].required = True
  15. class UserAddressForm(AbstractAddressForm):
  16. class Meta:
  17. model = UserAddress
  18. exclude = ('user', 'num_orders', 'hash', 'search_text')