anuj
anuj

Reputation: 237

unicode to ASCII (getting junk value when i try to publish values from database)

I have models.py from future import unicode_literals # -- coding: utf-8 -- from django.db import models from django.utils import timezone import datetime from datetime import datetime, timedelta from django.contrib.auth.models import User

class some_model(models.Model):
    info=models.CharField(max_length=200)
    message=models.TextField()
    time=models.DateTimeField(auto_now_add=True,)

    def __unicode__(self):   
            return self.info

I have forms.py:

class someForm(forms.ModelForm):

class Meta:
    model = some_model
    fields = ('info', 'message',)

I have views.py:

def some_view(request):
    if request.method == "POST":
            form = someForm(request.POST)
            if form.is_valid():
                    post = form.save(commit=False)
                    post.save()
                    return redirect('some_all')

    else:
            form = chatForm()
    return render(request, 'some_view.html', {'form': form,})

Now i have filled massage field with some regional language . saving this form to mysql database , every thing is fine . I can see my message column regional language saved as it is in mysql database . After when i try to fetch the data from database like ,

for i in some_model.objects.filter(info='some thing'):
    i.message

I get some junk value like bellow .

u'\u09b9\u0987' u'\u09b9\u0987'

But if i print those value like : for i in some_model.objects.filter(info='some thing'): print i.message

I get the correct input . But i cat print out any thing in django to webpages . So what should i do ?

Upvotes: 3

Views: 81

Answers (1)

ilak
ilak

Reputation: 94

see ans is simple .

 for i in some_model.objects.filter(info='some thing'):
       i.message[0]

This will print out the exact value . Hope this will help you .

Upvotes: 0

Related Questions