33
Django uses an ORM (Object-Relational Mapper) that translates data back and forth between Python objects and database rows. So when you use it to get an item from the database, it converts it into a Python object.
If that object doesn’t define how to display itself as text, Django does it for you. Python does the same thing:
>>> class MyObject(object):
... pass
...
>>> [MyObject(), MyObject()]
[<__main__.MyObject object at 0x0480E650>,
<__main__.MyObject object at 0x0480E350>]
If you want to see all of the actual values for the row for each object, use values
.
Here is the example from the docs:
# This list contains a Blog object.
>>> Blog.objects.filter(name__startswith='Beatles')
[<Blog: Beatles Blog>]
# This list contains a dictionary.
>>> Blog.objects.filter(name__startswith='Beatles').values()
[{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]
7
UPDATE:
In Python 3.x, use __str__
instead of __unicode__
What you are seeing is a list of Artist model instances. Your values are in a python object. If you would like to make the representation of those instances more helpful, you should define the __unicode__
method for them to print something useful:
https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#unicode
Its not a placeholder, its the actual object’s representation, converted to unicode.
- [Django]-How to implement FirebaseDB with a Django Web Application
- [Django]-Negating a boolean in Django template
- [Django]-Django manage.py runserver invalid syntax
0
if you want to use print method
ovveride the unicode method in the model itself
def __unicode__(self):
return u'%s' % (self.id)
here an example model
class unit(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
def __unicode__(self):
return u'%s' % (self.name)
print(unit.objects.all())
[unit: KG, unit: PCs]
- [Django]-How to server HTTP/2 Protocol with django
- [Django]-How to access request body when using Django Rest Framework and avoid getting RawPostDataException
- [Django]-Python Django Gmail SMTP setup