#27519 closed Bug (invalid)
Issue in Django 1.8.5 model class
Reported by: | Nitish Nandanan | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.8 |
Severity: | Normal | Keywords: | model class bug |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Hi Team,
I am a Django developer. I am using Django 1.8.5 version to develop my application. I am facing one issue with Django model class. I have one model class and it's returning a text value. If any invalid characters (eg:- '→' ) are included in this return text value, Django will throwing an error. Its huge impact on my application.
We have a UI interface to enter value to this model class. By mistake any user is entering invalid charactes or copy and pasting some text value from other sources, chances to include invalid characters into this field. I can see that by default Django doesn't have any validation for prevent this invalid characters. Instead of this, its directly throwing the error.
Below is one sample model class which I am using in my application,
class Subgroup(models.Model): subgroupname = models.TextField(max_length=50,null=True,blank=True) description = models.TextField(null = True,blank = True) workgroup = models.ForeignKey(Workgroup) rowstamp = models.IntegerField(null=True, blank=True) active = models.BooleanField(default=True) group_leader = models.ForeignKey(UserProfile, null=True, blank=True) def __str__(self): return self.subgroupname class Meta: verbose_name_plural = "Subgroups"
The above model class "Subgroup Name" is the return value. We have a our own admin interface area to enter this subgroup name and values for the above model class. If any invalid characters (eg:- '→' ) included in the subgroup name, Django will throw below error
Error message:
** encoding, errors)\nUnicodeEncodeError: 'ascii' codec can't encode character u'\\u2013' in position 11: ordinal not in range(128)**
I think Django doesn't have any in-built error handling if any invalid characters included in the model value.
I am requesting you to check this issue on priority and suggest us a solution for this
Please let me know if you need any additional information
Thanks & Regards
Nitish Nandanan
Change History (3)
comment:1 by , 8 years ago
Description: | modified (diff) |
---|---|
Resolution: | → needsinfo |
Status: | new → closed |
comment:2 by , 8 years ago
Description: | modified (diff) |
---|---|
Resolution: | needsinfo |
Status: | closed → new |
comment:3 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
I looks like you are using Python 2 to return unicode
from your __str__
method. If you are using Python you should define a __unicode__
method instead.
As Tim mentioned please use our support channels to get further help.
Hi, there's aren't sufficient details here to point to a bug in Django. It seems more likely that you've made a mistake in your application. Please use our support channels to get help and reopen the ticket with more details if that investigation reveals that Django is at fault.