2017-03-19 4 views
1
@python_2_unicode_compatible 

class EmployerProfile(AbstractAddress): 
    customer = models.OneToOneField(
     CustomerProfile, verbose_name=_('Customer'), 
     related_name='employerprofile') 

    company_name = models.CharField(_('Company name'), 
            max_length=50, blank=True, null=True) 
    phone = PhoneField(_('Phone'), max_length=50, blank=True, null=True) 
    phone_extension = models.CharField(_('Extension'), max_length=10, 
             blank=True, null=True) 
    job_title = models.CharField(_('Job title'), max_length=50, blank=True, 
           null=True) 
    date_hired = models.DateField(_('Date hired'), blank=True, null=True) 
    supervisor_name = models.CharField(_('Supervisor name'), max_length=50, 

... 
             blank=True, null=True) 
    has_missing_fields = models.BooleanField(_('Has missing informations'), 
              default=True) 
    manual_validation = GenericRelation(ManualFieldValidation) 

Hier ist eine Funktion Ich mag würde mit einem metaclassundefiniert Namen ‚arg‘

def clean_fields(self): 
     if income_source != 'Employed': 
      to_empty = [ 
       "company_name", 
       "job_title", 
       "date_hired", 
       "supervisor_name", 
       "phone", 
       "phone_extension", 
       "civic_number", 
       "street", 
       "address_line_2", 
       "city", 
       "state", 
       "zip_code", 
       ... 
      ] 
      for field_name in to_empty: 
       setattr(self, field_name, None) 
     super(EmployerProfile, self).save(*args, **kwargs) 

Könnte jemand in der Lage sein zu sagen, modifizieren, warum ich diese Art von Fehler haben für die Linie super(EmployerProfile, self).save(*args, **kwargs)? Ich brauchte einige Zeit, um herauszufinden, wo das Problem lag, aber ohne Erfolg.

+0

Sie rufen die 'save' Methoden Super in' clean_fields' - loswerden diese Zeile insgesamt. Du brauchst es nicht. – karthikr

+0

@karthikr Warum sagst du das? –

Antwort

0

Sie erhalten den Fehler aus dem angegebenen Grund: Der Name args ist weder im globalen noch im lokalen Bereich definiert. Weder ist Kwargs.