I wanted to know is there anything equivalent to:
select columnname from tablename
Like Django tutorial says:
Entry.objects.filter(condition)
fetches all the objects with the given condition. It is like:
select * from Entry where condition
But I want to make a list of only one column [which in my case is a foreign key]. Found that:
Entry.objects.values_list('column_name', flat=True).filter(condition)
does the same. But in my case the column is a foreign key, and this query loses the property of a foreign key. It’s just storing the values. I am not able to make the look-up calls.
Of course,
valuesandvalues_listwill retrieve the raw values from the database. Django can’t work its “magic” on a model which means you don’t get to traverse relationships because you’re stuck with the id the foreign key is pointing towards, rather than the ForeignKey field.If you need to filters those values, you could do the following (assuming
column_nameis a ForeignKey pointing toMyModel):Here’s a documentation for
values_list()