Запрос values_list возвращает внешний ключ pk, а не его значение
Я пытаюсь получить все категории, используемые в настоящее время в Recipes
без дубликатов, путем запроса CategoryToRecipe
.
class Category(models.Model):
name = models.CharField(max_length=50, null=True, blank=True)
def __str__(self):
return self.name
class CategoryToRecipe(models.Model):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
name = models.ForeignKey(Category, null=True, on_delete=models.SET_NULL)
query_set = CategoryToRecipe.objects.values_list('name', flat=True).distinct()
query_set
возвращает числа, которые, как я предполагаю, являются ID
для Category
, а не названия (например, Обед, Ужин и т.д.).
Как получить фактическую строку имени Category
?
Как сказал @WillemVanOnsem в комментариях, вы не обращаетесь к атрибуту related object name
вы делаете это с помощью joins, что делается в ORM следующим образом:
query_set = CategoryToRecipe.objects.values_list('name__name', flat=True).distinct()