KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In the model I set: class Task(models.Model): EstimateEffort = models.PositiveIntegerField('Estimate hours',max_length=200) Finished = models.IntegerField('Finished percentage',blank=True) But in the web page, if I didn't set a value for the Finished field, it is showing an error This field is required . I tried null=True and blank=True . But none of them worked. So could you please tell me how can I make a field allowed to be empty. I have found that there is a attribute empty_strings_allowed , i set it to True, but still the same, and i subclass the models.IntegerField. It still can not work class IntegerNullField(models.IntegerField): description = "Stores NULL but returns empty string" empty_strings_allowed =True log.getlog().debug("asas") def to_python(self, value): log.getlog().debug("asas") # this may be the value right out of the db, or an instance if isinstance(value, models.IntegerField): # if an instance, return the instance return value if value == None: # if db has NULL (==None in Python), return empty string return "" try: return int(value) except (TypeError, ValueError): msg = self.error_messages['invalid'] % str(value) raise exceptions.ValidationError(msg) def get_prep_value(self, value): # catches value right before sending to db if value == "": # if Django tries to save an empty string, send to db None (NULL) return None else: return int(value) # otherwise, just pass the value
Tags (comma-separated)
Save Edits
Cancel