18
Since you only want id
, you should only query for id
. A naive get
will retrieve all fields on the database row. Either of these methods will only retrieve the data you want.
id = Place.objects.filter(name='kansas').values('id')[0]['id']
Or with values_list:
id = Place.objects.filter(name='kansas').values_list('id', flat=True).first()
Another method uses only
:
id = Place.objects.only('id').get(name='kansas').id
- [Django]-Overriding AppConfig.ready()
- [Django]-How to display uploaded images in "Change List" page in Django Admin?
- [Django]-CSRF with Django, React+Redux using Axios
5
What does your URL mapping for that view look like? Assuming you’re capturing the part of your URL with "kansas"
in it and that is getting set to the place_name
argument, you’ll have to do a simple filter
on your model’s manager on whatever model field you’re looking for "kansas"
in.
If your URL mapping looks like:
('(?P<place_name>\w+)$', 'myapp.view.view_index')
Then you should be able to do just
object_list = Model.objects.filter(place_name = place_name)
to get a list of objects who have a place_name
that matches the one in the URL. From there, each of the objects in that list should have an id
(unless you’ve renamed the ID field) that you can get to like any other python object attribute.
- [Django]-Django Rest Framework – Updating a foreign key
- [Django]-Django select_related – when to use it
- [Django]-How can I run a celery periodic task from the shell manually?
1
In addition to the accepted responses, you can explore ids of all places in your ‘Place’ model as below:
Use list comprehension or any other convenient data structure.
objects = Place.objects.all()
id_name_pair = [(object.id, object.name) for object in objects]
This will give list of tuples with each name of your ‘Place’ model with it’s corresponding id.
- [Django]-How do I construct a Django reverse/url using query args?
- [Django]-Django: TypeError: 'tuple' object is not callable
- [Django]-You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application